创建表插入触发器时遇PLS-00201错误,触发器失效求助
问题分析与解决方案
核心原因
编译错误PLS-00201: identifier 'MYSCHEMA.JITEM_SEQ' must be declared的根源是PL/SQL权限机制限制:
- 直接执行SQL查询序列能成功,是因为SQL允许使用角色权限;
- 触发器属于PL/SQL块,PL/SQL不识别通过角色获取的权限,必须要求触发器所属用户拥有直接授予的序列SELECT权限。
解决步骤
- 给触发器所属用户(报错显示为
SYSADM)直接授予序列访问权限:
GRANT SELECT ON MYSCHEMA.JITEM_SEQ TO SYSADM;
- 重新编译触发器,使其读取新的权限并生效:
ALTER TRIGGER SYSADM.JITEM_TG COMPILE;
- 执行插入操作验证触发器是否正常为
SEQNUM字段自动赋值。
内容的提问来源于stack exchange,提问作者Nopunintended
相关产品推荐
相关产品推荐

