PL/SQL程序设计基础语法详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PL/SQL程序设计基础语法详解相关的知识,希望对你有一定的参考价值。
一.什么是PL/SQL(Procedure Language/SQL)
概念:PLSQL是Oracle对sql语言的过程化扩展
指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。
PL/SQL的结构:
declare
说明部分 (变量说明,光标申明,例外说明 〕
begin
语句序列 (DML语句〕…
exception
例外处理语句
End;
简单的PL/SQL程序
如果是在命令行中需要使用 set serveroutput on先打开显示
declare
--声明变量
begin
-- 程序执行的主体
dbms_output.put_line(‘Hello World‘); --输出语句
end;
二.PL/SQL程序的基本语法
1.常量和变量
2.变量类型
3.引用型变量和记录型变量的使用
引用型变量的使用
-- 查询并打印7839的姓名和薪水
declare
-- 定义姓名和薪水的变量
pname emp.ename%type; --即引用emp表中ename列的类型
psal emp.sal%type; --即引用emp表中sal列的类型
begin
-- 查询语句 赋值的两种方式 1.:= 2. into关键字
select ename,sal into pname,psal from emp where empno=‘7839‘;
dbms_output.put_line(pname ||‘的薪水是‘|| psal);
end;
记录型变量
-- 查询并打印7839的姓名和薪水
declare
-- 定义记录型变量,代表一行
dec_emp emp%rowtype; --即记录了emp表中一行的类型,使用的时候直接.调用
begin
-- 查询语句
select * into dec_emp from emp where empno=‘7839‘;
--使用的时候 dec_emp.sal 变量名.列名
dbms_output.put_line(dec_emp.ename ||‘的薪水是‘|| dec_emp.sal);
end;
3.if语句
三种格式:
格式一:
IF 条件 THEN 语句1;
语句2;
END IF;
格式二:
IF 条件 THEN 语句序列1;
ESLE 语句序列 2;
END IF;
格式三(主要使用这种):
IF 条件 THEN 语句;
ELSIF 条件 THEN 语句;
ELSE 语句;
END IF;
-- 判断用户键盘上输入的数字是几
-- 接收键盘的输入
-- num是地址值,在地址值上保存了输入的数字
accept num prompt ‘请输入一个数字‘;
declare
-- 定义变量保存数字
pnum number := #
begin
if pnum = 0 then dbms_output.put_line(‘您输入的数字是0‘);
elsif pnum = 1 then dbms_output.put_line(‘您输入的数字是1‘);
elsif pnum = 2 then dbms_output.put_line(‘您输入的数字是2‘);
else dbms_output.put_line(‘其他数字‘);
end if;
end;
4.循环语句
格式一:
WHILE 条件
LOOP
语句序列;
END LOOP;
-----------------------------------------------
例如:
WHILE total <= 25000
LOOP
.. .
total : = total + salary;
END LOOP;
格式二(主要使用这种,EXIT的地方容易理解):
Loop
EXIT [when 条件];
语句序列
End loop
格式三:
FOR I IN 1 . . 3
LOOP
语句序列 ;
END LOOP ;
-- 打印1~10的数字
declare
pnum number := 1;
begin
loop
--循环
--退出条件
exit when pnum > 10;
dbms_output.put_line(pnum);
-- 加1
pnum := pnum + 1;
end loop;
end;
以上是关于PL/SQL程序设计基础语法详解的主要内容,如果未能解决你的问题,请参考以下文章