06_orcale 编程 pl/sql
输出pl/sql 编程语言是sql语言的扩展,使得sql语言具有过程化编程的特性
pl/sql 编程语言比一般的过程化语言更加灵活
pl/sql 编程语言主要用来编写存储过程和存储函数
pl/sql 程序语法
程序语法:
declare
说明部分 (变量说明,游标申明,例外说明 〕
begin
语句序列 (DML 语句〕…
exception
例外处理语句
End;
常量和变量定义
declare
i number(2) :=10; 定义一个 int 变量
s varchar2(10) :='lww'; 定义一个 string 变量
ena emp.ename%type; 引用变量 在 sql中使用 into 来赋值
emprow emp%rowtype 记录型变量
begin
dbms_output.put_line(i) ;输出 i
dbms_output.put_line(s) ; 输出s
select ename into ena from emp where empno =7788;
dbms_output.put_line(ena) ;
select * into emprow from emp where empno =7788;
dbms_output.put_line(emprow.ename || ' ====' || emprow.job) ;
end;
if 分支
语法 1:
IF 条件 THEN 语句 1;
语句 2;
END IF;
语法 2:
IF 条件 THEN 语句序列 1;
ELSE 语句序列 2;
END IF;
语法 3:
IF 条件 THEN 语句;
ELSIF 语句 THEN 语句;
ELSE 语句;
END IF;
=====例如
小于18 输出未成年
大于18小于40 输出成年人
大于40 输出老年人
declare
i number(3) :=ⅈ
begin
if i < 18 then
dbms_output.put_line('未成年');
elsif i<40 then
dbms_output.put_line('成年人');
else
dbms_output.put_line('老年人');
end if;
end;
循环语句
语法 1:
WHILE total <= 25000 LOOP
total : = total + salary;
END LOOP;
实例;
语法 2:
Loop
EXIT [when 条件;
……
End loop
语法 3:
FOR I IN 1 . . 3 LOOP
语句序列 ;
END LOOP ;
t-weighD��γ�E
�