CREATE OR REPLACE TRIGGER "ZYJ"."TG_FORDEPID" BEFORE
INSERT ON "DEP" FOR EACH ROW WHEN (new.id is null) begin
select ZYJ.EMP_SEQUENCE.nextval into: new.id from dual;
end;触发器如上。ZYJ 方案。
错误信息如下:
行号= 0 列号= 0 错误文本= PLS-00801: 内部错误 [ph2csql_strdef_to_diana:bind]
行号= 2 列号= 51 错误文本= PL/SQL: ORA-06544: PL/SQL: 内部错误,参数: [ph2csql_strdef_to_diana:bind], [], [], [], [], [], [], []
行号= 2 列号= 1 错误文本= PL/SQL: SQL Statement ignored
INSERT ON "DEP" FOR EACH ROW WHEN (new.id is null) begin
select ZYJ.EMP_SEQUENCE.nextval into: new.id from dual;
end;触发器如上。ZYJ 方案。
错误信息如下:
行号= 0 列号= 0 错误文本= PLS-00801: 内部错误 [ph2csql_strdef_to_diana:bind]
行号= 2 列号= 51 错误文本= PL/SQL: ORA-06544: PL/SQL: 内部错误,参数: [ph2csql_strdef_to_diana:bind], [], [], [], [], [], [], []
行号= 2 列号= 1 错误文本= PL/SQL: SQL Statement ignored
而是"into :new.id "
在sqlplus或pl/sql中先编译一下,通过了再在程序中引用。
select ZYJ.EMP_SEQUENCE.nextval into: new.id from dual;
改成
select ZYJ.EMP_SEQUENCE.nextval into :new.id from dual;
就好了
完整的
CREATE OR REPLACE TRIGGER "ZYJ"."TG_FORDEPID"
BEFORE INSERT ON "DEP"
FOR EACH ROW
WHEN (new.id is null)
begin
select ZYJ.EMP_SEQUENCE.nextval into :new.id from dual;
end;