PL/SQL是SQL语言的拓展。可以在开发过程中完美结合代码。实现功能模块的再细分。
(一)基本语句
declrae
--declare var
--可以直接复制
begin
--也可以在这里赋值
--select xx,yy into xx1,yy1
exception
--异常可有可无
end;
很详细的可以参考某君写的一篇http://heisetoufa.javaeye.com/blog/365091
PL/SQL语句以块为单位。独立的模块有 存储过程,函数,包,
1.存储过程基本语法
create or replace procedure proc_name
[(xx,varchar2,yy number)]
as
cursor c is select * from xx;
--other local var;
begin
for r in c loop
begin
if r.attr..
//如果怕事务太大。可以先提交部分
end if;
end;
end loop;
commit;//没有自动提交功能
end;
2.函数基本语法
create or replace function fun_name [()] return type
is
--local var;
begin
return xx;
end
3.pagekage包
不详
包其实就是被组合在一起的相关对象的集合,当包中任何函数或存储过程被调用,包就被加载入内存中,包中的任何函数或存储过程的子程序访问速度将大大加快。
包由两个部分组成:规范和包主体(body),规范描述变量、常量、游标、和子程序,包体完全定义子程序和游标。
4.trigger 触发器
create or replace trigger tc_jws.tri_test
before update on tc_jws.t_rywp_xxb
for each row
declare
--变量申明
newstatus varchar2(2);
begin
--业务逻辑判断
--:new.xxx
--:old.yy
--
if :old.STATUS ='0' then
newstatus :=:old.STATUS;
dbms_output.put_line(newstatus||22);
update tc_jws.t_tab_test t set t.status ='1';
else
update tc_jws.t_tab_test t set t.status ='0';
end if;
-- commit;
end;
其他待定。。