1.程序语法:
declare
说明部分 (变量说明,游标申请,例外说明)
begin
语句序列 (DML语句)
exception
例外处理语句
End
2.常量和变量定义
在程序的声明阶段可以来定义常量和变量
变量的基本类型就是orcle中的建表时字段的变量如char,varchar2,date,number,boolean,long
栗子
--declare
begin
dbms_output.put_line('hello world');
end;
输出结果
hello world
2.常量和变量定义
在程序的声明阶段可以来定义常量和变量。
变量的基本类型就是 oracle中的建表时字段的变量如 char, varchar2,date
number, boolean, long),
定义语法: varl char15;
Psal number(9, 2);
说明变量名、数据类型和长度后用分号结束说明语句。
常量定义: married boolean:=true
引用变量栗子
declare
pname varchar2(10) #声明变量
page number(3) := 20; #声明常量
begin
pname := 'zhangsan'; #给变量赋值
dbms_output.put_line(pname); #输出变量
dbms_output.put_line(page); #输出常量值
end;
引用变量
Myname emp.ename%type;
引用型变量,即my name 的类型与emp表中ename列的类型一样
在sql中使用into来赋值
declare
pname myemp.ename%type
begin
select t.ename into pname from myemp t where t.empno = 7369;
dbms_output.put_line(pname);
LOOP循环语句栗子
declare
total number(4) := 0;
begin
while total <= 100 loop
total := total + 1;
dbms_output.put_line(total);
end loop;
end;
语法2:
Loop
EXIT(when 条件) #跳出循环的条件
...
End loop
栗子:
declare
total number(4) := 0;
begin
loop
exit when total = 100;
total := total + 1;
dbms_output.put_line(total);
end loop;
end;
5.游标 Cursor
在写java程序中有集合的概念,那么在pl/sql中也会用到多条记录,
这时候我们就要用到游标,游标可以存储查返回的多条数据。
语法:
CURSOR游标名(参数名 数据类型,参数名, 数据类型,) IS SELECT语句;
例如: cursor c1 is select ename from emp;
游标的使用步聚:
打开游标:open c1;(打开游标执行查询)
取一行游标的值: fetch c1 into piob(取一行到变量中)
关闭游标:close c1(关闭游标释放资源)
游标的结束方式 exit when c1%notfound
注意:上面的 pjob 必须与enp 表中的job列类型一致
游标
declare
prec emp%rowtype; --定义记录型的变量
cursor c1 is ---定义游标c1
select * from emp; --定义游标
begin
open c1; --打开游标
loop --开始循环
fetch c1
into prec; --从游标中取值,取值后游标自动向下移
exit when c1%notfound; --退出游标的条件
dbms_output.put_line(prec.empno || ' ' || prec.ename); --这里双||表示字符串的连接
end loop;
close c1; --关闭游标
end;