我有一个名为A_TAB
的表的触发器,它只是一个字符类型的A
列。我有另一个表DUP_A
,其列与TAB_A
相同。触发A_TAB
如下
create or replace trigger A_trig
before insert on A_TAB
for each row
declare
num1 varchar2(50):= null;
pragma autonomous_transaction;
begin
select Wm_Concat(a) into num1 from DUP_A;
if num1 is null
then
num1:=:new.a;
else
num1:=num1||','||:new.a;
end if;
insert into DUP_A values(num1);
delete from DUP_A where rowid<>(select max(rowid) from DUP_A);
commit;
end;
我在此处连接新插入的所有值并将其插入DUP_A
的单个列。
它工作正常,但我需要具有相同功能的statement level trigger
谢谢
答案 0 :(得分:0)
删除“for each row”子句会将行级触发器更改为语句级触发器。但是PL / SQL运行时引擎会创建并填充 两个数据结构(:new和:old),其功能与记录类似,当触发行级触发时
答案 1 :(得分:0)
您无法在语句级触发器中引用数据(def compare(directory1, directory2):
for file1 in os.listdir(directory1):
for file2 in os.listdir(directory2):
if "some" in file1 and "some" in file2:
print("found")
和:new
)。