更新触发器后尝试在一个简单的 oracle 中执行 ddl 命令时出现错误:“ORA-04092:无法在触发器中提交”。更新列中的一个字段后,触发器需要创建公共数据库链接。这是来源:
create or replace
TRIGGER CreateLinkTrigger
after UPDATE of Year ON tableInit
for each row
DECLARE
add_link VARCHAR2(200);
BEGIN
IF :new.year = '2014'
then
add_link := q'{create public database link p2014 connect to test14 identified by temp using 'ora'}';
execute immediate add_link;
END IF;
END;
所以,如您所见,我需要在激活新年后创建新的公共数据库链接。因此,当我尝试使用年份值“2014”更新表“tableInit”时,我得到 ORA-04092 错误。有什么办法可以避免这个错误,或者有其他解决方案吗?谢谢...