ORACLE 匿名PL/SQL块
PL/SQL块分为3个部分:
1.声明部分 声明变量 declare;
2.执行部分 执行sql语句 begin end;
3.异常部分 处理异常 exception;
例一(用匿名plsql块进行2个number类型的变量的值的交换):
--变量声明
declare
num1 number :=10;
num2 number :=20;
--执行部分
begin
--执行前输出
dbms_output.put_line(num1||' '||num2);
num1 := num1+num2;
num2 := num1-num2;
num1 := num1-num2;
dbms_output.put_line(num1||' '||num2);
--异常处理
exception
when others then
dbms_output.put_line('程序出现异常');
end;
例二(用匿名plsql块查询scott下emp表的sal、ename的信息):
--声明部分
declare
--因为要查询scott下emp表的sal、ename的信息,所以变量类型必须和sal、ename一致
vsal NUMBER(7,2);
vempno NUMBER(4);
vename VARCHAR2(10);
--执行部分
begin
--&替代变量,执行时提供实际值即可。
vempno :=&a;
select sal,ename into vsal,vename from scott.emp where empno=vempno;
dbms_output.put_line(vsal||' '||vename||' '||vempno);
--异常处理
exception
when no_data_found then
dbms_output.put_line('无此数据');
end;
例三(运用引用数据类型):
--声明部分
declare
--此处为行类型引用,列类型引用用法:vsal scott.emp.sal%type;
vemp scott.emp%rowtype;
--执行部分
begin
select scott.emp.* into vemp where scott.emp where empno=&a;
--异常处理
exception
when no_data_found then
dbms_output.put_line('无此数据');
end;
以上就是oracle中匿名plsql块的运用,由于匿名plsql块不能储存所以并不是特别常用,下篇我会写存储过程(即有名字的
plsql块)的运用。