oracle创建trigger procedure function sequence plsql
2014-02-13 15:39
901 查看
--触发器 自动插入序列
create or replace trigger tr_upload
before insert on upload
referencing new as new old as old
for each row
begin
select seq_upload.nextval into :new.upid from dual;
end;
--无参函数
create or replace function fun_up
return number is total number(9) := 0;
begin
select count(*) into total from upload;
return total;
end;
--有参函数
create or replace function fun_upload(nm in varchar)
return number is total number(9) := 0;
begin
select count(*) into total from upload where upfolder like '%'||nm||'%';
return total;
end;
--存储过程
create or replace procedure proc_upload(nm in varchar)
is
begin
declare
da number(9) :=0;
begin
da :=fun_upload(nm);
dbms_output.put_line('da is :'||da);
insert into upload(upfolder,upfilename) values(da,da);
end;
end;
--调用无参的函数
declare
a number;
begin
a := fun_up();
dbms_output.put_line('not param function:'||a);
end;
--调用有参函数
declare
a varchar(10);
e number;
begin
a := 'do';
e :=fun_upload(a);
dbms_output.put_line('param function is:'||e);
end;
--调用存储过程
declare
a varchar(10);
begin
a:='d';
proc_upload(a);
end;
--创建序列
create sequence seq_xxx
start with 1
increment by 1
maxvalue 999999999999;
--for循环存储过程
create or replace procedure proc_insert is
i number;
begin
i := 0;
for i in 1 .. 1000 loop
insert /*+append*/
into test
(c1)
select /*+parallel(t,4)*/
c1
from tmp_table t;
end loop;
commit;
end proc_insert;
create or replace trigger tr_upload
before insert on upload
referencing new as new old as old
for each row
begin
select seq_upload.nextval into :new.upid from dual;
end;
--无参函数
create or replace function fun_up
return number is total number(9) := 0;
begin
select count(*) into total from upload;
return total;
end;
--有参函数
create or replace function fun_upload(nm in varchar)
return number is total number(9) := 0;
begin
select count(*) into total from upload where upfolder like '%'||nm||'%';
return total;
end;
--存储过程
create or replace procedure proc_upload(nm in varchar)
is
begin
declare
da number(9) :=0;
begin
da :=fun_upload(nm);
dbms_output.put_line('da is :'||da);
insert into upload(upfolder,upfilename) values(da,da);
end;
end;
--调用无参的函数
declare
a number;
begin
a := fun_up();
dbms_output.put_line('not param function:'||a);
end;
--调用有参函数
declare
a varchar(10);
e number;
begin
a := 'do';
e :=fun_upload(a);
dbms_output.put_line('param function is:'||e);
end;
--调用存储过程
declare
a varchar(10);
begin
a:='d';
proc_upload(a);
end;
--创建序列
create sequence seq_xxx
start with 1
increment by 1
maxvalue 999999999999;
--for循环存储过程
create or replace procedure proc_insert is
i number;
begin
i := 0;
for i in 1 .. 1000 loop
insert /*+append*/
into test
(c1)
select /*+parallel(t,4)*/
c1
from tmp_table t;
end loop;
commit;
end proc_insert;
相关文章推荐
- Day60-Oracle04 - PLSQL编程、游标cursor、例外exception、存储过程(procedure)、存储函数(function)、java调用存储过程、触发器(trigger)
- sql: Oracle 11g create table, function,trigger, sequence
- oracle创建sequence和触发器trigger
- Oracle 过程(Procedure)、函数(Function)、包(Package)、触发器(Trigger)
- sql: Oracle 11g create table, function,trigger, sequence
- sql: Oracle 11g create table, function,trigger, sequence
- Oracle基础学习三:过程PROCEDURE 和函数FUNCTION 的创建及调用
- Oracle(Sequence、Trigger、Procedure、Job)
- oracle 游标,函数 function , 存储过程 PROCEDURE , 触发器 Trigger
- Oracle基础学习三:过程PROCEDURE 和函数FUNCTION 的创建及调用
- Oracle 过程(Procedure)、函数(Function)、包(Package)、触发器(Trigger)
- oracle 在plsql中创建procedure并调用
- Oracle基础学习三:过程PROCEDURE 和函数FUNCTION 的创建及调用
- oracle中的procedure,function,trigger
- asp.net 创建procedure/function/trigger
- Oracle 创建Package Procedure Function
- oracle_procedure_function_trigger
- Oracle 过程(Procedure)、函数(Function)、包(Package)、触发器(Trigger)
- oracle 备份数据库对象(存储过程PROCEDURE,FUNCTION,VIEW,TRIGGER...)
- 使用java程序创建oracle function 或者 procedure