【发布时间】:2019-08-22 12:57:37
【问题描述】:
我正在尝试在触发器上创建同义词,然后尝试在同义词上为特定用户授予所有权限。它抛出一个错误: ORA-01775: 同义词循环链
下面是我的代码。谁能指出我错的正确方向!
create table emp(emp_name varchar(20));
create or replace trigger trg_test
before insert on emp
begin
null;
end;
create or replace public synonym trg_test for trg_test;
GRANT ALL ON trg_test TO USER1;
【问题讨论】:
-
为什么要为触发器创建同义词?这实际上没有任何意义——触发器将为表上的每个插入触发——无论谁执行了插入。只需将表上的
INSERT授予USER1,就可以了。 -
关于您收到的错误消息:如果您指定触发器的架构,它可能会起作用,即
create or replace public synonym trg_test for myschema.trg_test;