oracle 不熟,请帮忙把这个触发器转换成oracle触发器语法,感激不尽CREATE TRIGGER createpmh ON [dbo].[scgl_cppld_wlpmpz]
FOR INSERT
AS
declare @zzh varchar(50),
@scrwdid int,
@wlid int,
@scdwid int ,
@fid int ,
@flag int ,
@cpid int
begin declare my_cursor1 cursor for select scrwdid,wlid,scdw,fid from inserted
open my_cursor1
fetch next from my_cursor1 into @scrwdid,@wlid,@scdwid,@fid
while @@fetch_status =0
begin
exec cggl_pmgl_test @scdwid,@wlid,0,@zzh output
update scgl_cppld_wlpmpz set pmh=@zzh where scgl_cppld_wlpmpz.fid=@fid
fetch next from my_cursor1 into @scrwdid,@wlid,@scdwid,@fid
end
close my_cursor1
deallocate my_cursor1
end
FOR INSERT
AS
declare @zzh varchar(50),
@scrwdid int,
@wlid int,
@scdwid int ,
@fid int ,
@flag int ,
@cpid int
begin declare my_cursor1 cursor for select scrwdid,wlid,scdw,fid from inserted
open my_cursor1
fetch next from my_cursor1 into @scrwdid,@wlid,@scdwid,@fid
while @@fetch_status =0
begin
exec cggl_pmgl_test @scdwid,@wlid,0,@zzh output
update scgl_cppld_wlpmpz set pmh=@zzh where scgl_cppld_wlpmpz.fid=@fid
fetch next from my_cursor1 into @scrwdid,@wlid,@scdwid,@fid
end
close my_cursor1
deallocate my_cursor1
end
insert on scgl_cppld_wlpmpz
for each row
as
declare
cursor my_cursor1 is
select scrwdid,wlid,scdw,fid from inserted for update;
zzh varchar2(50);
n_scrwdid int;
n_wlid int;
n_scdwid int;
n_fid int;
n_flag int;
n_cpid int;
begin
open my_cursor1;
fetch my_cursor1 into n_scrwdid,n_wlid,n_scdwid,n_fid;
while my_cursor1%found loop
exec cggl_pmgl_test(...);
update scgl_cppld_wlpmpz set pmh=zzh
where scgl_cppld_wlpmpz.fid=n_fid
where current of cursor;
fetch my_cursor1 into n_scrwdid,n_wlid,n_scdwid,n_fid;
end loop;
close my_cursor1;
end;这段代码就是安排oracle的格式来的,不过运行起来估计还有问题,自己可以改了