DDL语句在PL/SQL里面的使用
eg:
begin
execture immediaate 'create table T(nnn varchar2(20) default ''aaaa'')';
end;--利用两个''来定义字符串
PL/SQL流程控制
1:if条件控制
1 if.......then
if(条件p) then 基本语句段;
end if;
2 if......then....else
if(条件p) then 基本语句段1;
elsif(条件) then 基本语句段2;
else 语句段3;
end if;
3 还可以进行多层if语句的嵌套。
2循环
eg:
1 declare
i binary_integer := 1;
begin
loop
dbms_output.put_line(i);
i := i+1;
exit when(i>=11);
end loop;
end;(相当于do...while语句)
2 declare
i binary_integer := 1;
begin
while i<11 loop
dbms_output.put_line(i);
i := i+1;
exit when(i>=11);
end loop;
end;(相当于while语句)
3 for.....loop
begin
for k in 1..10 loop
dbms_output.put_line(k);
end loop;
for k in reverse(逆序) 1..10 loop
dbms_output.put_line(k);
end loop;
end;
3 case选择控制
case e
when e1 then 语句段一;
when e2 then 语句段二;
when e3 then 语句段三;
.......
[else 语句段;]
end case;
错误的处理
exception处理最长用的办法是创建日志表储存错误信息
eg:
create table errorlog
(
id number primary key;
errorcode number;
essmsg varchar2(1024);
errdate date
);
create sequence seq_errorlog_id start with 1 increment by 1;
declare.......
begin......
exception
when others then
rollback;
v_errorcode := sqlcode;
v_errmsg := sqlerrm;
insert into errorlog values(seq_errorlog_id,v_errorcode,v_errmsg,sysdate);
commit;
end;
PL/SQL程序流程控制以及exception
猜你喜欢
转载自516948336.iteye.com/blog/1484763
今日推荐
周排行