我编写了这样一段代码,可是运行不了,出现以下错误提示
CREATE OR REPLACE TRIGGER aa
--在真正insert数据库之前
BEFORE INSERT
ON t1 -- on 具体的表
FOR EACH ROW
DECLARE
maxs_id VARCHAR2(20);
BEGIN
SELECT 'TID'||lpad(substr(nvl(max(tid),'TID000'),4,3)+1,3,0) INTO maxs_id FROM t1; :NEW.tid := maxs_id; --把max_id赋给tid列
END;
CREATE OR REPLACE TRIGGER aa
--在真正insert数据库之前
BEFORE INSERT
ON t1 -- on 具体的表
FOR EACH ROW
DECLARE
maxs_id VARCHAR2(20);
BEGIN
SELECT 'TID'||lpad(substr(nvl(max(tid),'TID000'),4,3)+1,3,0) INTO maxs_id FROM t1; :NEW.tid := maxs_id; --把max_id赋给tid列
END;
你可以直接把maxs_id赋值给你想要改变的:old.tid
换个用户,sys用户的表格不能创建触发器的。