我正在为Toad写一个触发器.但我面临一个错误
"[Error] ORA-02289 (2: 10): PL/SQL: ORA-02289: sequence does not exist".
CREATE OR REPLACE TRIGGER ACTSINFO.USERMASTER_INSERT
BEFORE INSERT
ON ACTSINFO.USERMASTER
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
SELECT USERMASTER_ID_SEQ.NEXTVAL INTO :NEW.ID FROM dual;
END;
Run Code Online (Sandbox Code Playgroud)
谁能帮我?我是蟾蜍的新手.
Quest软件只是一种工具.在这种情况下,你有一个关于出错的确切错误.如消息所示,架构中不存在名为USERMASTER_ID_SEQ的序列.
解决方案可能是在序列名称之前添加模式名称(所有者):
ACTSINFO.USERMASTER_ID_SEQ
Run Code Online (Sandbox Code Playgroud)
您可以使用此查询找到所有者:
select sequence_owner
from all_sequences
where sequence_name = 'USERMASTER_ID_SEQ';
Run Code Online (Sandbox Code Playgroud)
如果这没有帮助,则意味着您没有序列的权限,或者它实际上不存在.因此,您需要让序列的所有者将SELECT授予您的用户,或者您必须在数据库中创建序列.
要创建序列,您可能需要使用Toad的GUI.或者只使用PL/SQL语句
CREATE SEQUENCE ACTSINFO.USERMASTER_ID_SEQ
INCREMENT BY 1
MAXVALUE 99999999999999999999
MINVALUE 1
CACHE 20 ;
Run Code Online (Sandbox Code Playgroud)