程序结构
declare
说明部分 定义变量
begin
语句序列DML语句
exception
处理例外
end;
语法
PLSQL是Oracle对sql语言的过程化扩展,指在SQL命令语言中增加了过程处理语句(如分支、循环等),
使SQL语言具有过程处理能力。把SQL语言的数据操纵能力与过程语言的数据处理能力结合起来,
使得PLSQL面向过程但比过程语言简单、高效、灵活和实用。
变量
在程序的声明阶段可以来定义常量和变量。
-
变量的基本类型就是ORACLE中的建表时字段的变量如char, varchar2, date, number, boolean, long
定义语法:varl char(15);
Psal number(9,2);
说明变量名、数据类型和长度后用分号结束说明语句。
常量定义:married constant boolean:=true
-
引用变量
Myname emp.ename%type;
引用型变量,即my_name的类型与emp表中ename列的类型一样
在sql中使用into来赋值
declare emprec emp.ename%type;
begin
select t.ename into emprec from emp t where t.empno = 7369;
dbms_output.put_line(emprec);
end;
将查询到的语句赋值给emprec
-
记录型变量
Emprec emp%rowtype 代表一行
记录变量分量的引用
注意 := 赋值符号等价于java中的=号;
= 逻辑等,判断两个值是否相等,等价于java中的==号
循环
LOOP [luːp]循环语句
其中语法2比较常用
语法1:
WHILE 条件 LOOP
.. .
total : = total + salary;
END LOOP;
语法2:
Loop
EXIT when 条件;
……
End loop
语法3:
FOR I IN 1 . . 3 LOOP
语句序列 ;
END LOOP ;
1 范例:使用语法1输出1到10的数字 2 3 declare 4 5 step number := 1; 6 7 begin 8 9 while step <= 10 loop 10 11 dbms_output.put_line(step); 12 13 step := step + 1; 14 15 end loop; 16 17 end;