条件触发器
||
create or replace trigger insert_test_id
before insert on test
where(test.name=\'Ash\')
begin
insert into test(s_no) values(\'def\');
end
我的桌子是
测试
id整数
名称varchar2(200)
s_no varchar2(250)
请告诉我该触发器有什么错误。我找不到。
没有找到相关结果
已邀请:
3 个回复
羔磺
条件也起作用...
它甚至适用于多行...。
所以有什么问题?这个:
当然,我在这里已经作弊了,以产生错误。如果测试值和替代值都经过硬编码,则可以避免此问题。但是,如果其中之一是查找,则存在递归的风险。 如果您实际想要替换输入值,而不是插入其他行,则应使用@Lukas发布的简单赋值语法。
抵浮细
\“ FOR EACH ROW \”使它成为语句级别的触发器,对受插入表影响的每一行执行该语句。那应该摆脱ora-04077
骚瓤
但是,这只是插入一条记录,而不是两条记录(如果那是您的原始意图)。