--权限字典自动编号 DROP SEQUENCE SEQ_POWERS; CREATE SEQUENCE SEQ_POWERS INCREMENT BY 1 MINVALUE 1 MAXVALUE 99999999999999 NOCYCLE NOCACHE ORDER; COMMIT;--权限字典自动创建编号 CREATE OR REPLACE TRIGGER TRG_ADD_POWERS BEFORE INSERT ON T_POWERS FOR EACH ROW BEGIN SELECT TO_CHAR(SEQ_POWERS.NEXTVAL) INTO :NEW.SN FROM DUAL; END TRG_ADD_POWERS;
假如 sequence为seq 则编程时用seq.nextval
create or replace trigger triggername before insert on tablename for each row begin select sequencename.nextval into : new.columnname for dual; end; 有错误吗?为什么老是编译不通过呢?触发器不区分大小写吧?难道是要设置参数?不懂,请教大虾指点!
把 FOR 改为 FROM 就行了
仅仅是for这里错了吗?可能我发贴子的时候手误了,假如 create or replace trigger triggername before insert on tablename for each row begin select sequencename.nextval into : new.columnname from dual; end;一定正确吗?需要设置参数吗?我用的oracle是8.1.6的(可能是)
DROP SEQUENCE SEQ_POWERS;
CREATE SEQUENCE SEQ_POWERS
INCREMENT BY 1
MINVALUE 1
MAXVALUE 99999999999999
NOCYCLE
NOCACHE
ORDER;
COMMIT;--权限字典自动创建编号
CREATE OR REPLACE TRIGGER TRG_ADD_POWERS
BEFORE INSERT ON T_POWERS
FOR EACH ROW
BEGIN
SELECT TO_CHAR(SEQ_POWERS.NEXTVAL) INTO :NEW.SN FROM DUAL;
END TRG_ADD_POWERS;
sequence为seq
则编程时用seq.nextval
before insert on tablename
for each row
begin
select sequencename.nextval into : new.columnname for dual;
end;
有错误吗?为什么老是编译不通过呢?触发器不区分大小写吧?难道是要设置参数?不懂,请教大虾指点!
create or replace trigger triggername
before insert on tablename
for each row
begin
select sequencename.nextval into : new.columnname from dual;
end;一定正确吗?需要设置参数吗?我用的oracle是8.1.6的(可能是)