CREATE OR REPLACE TRIGGER BGT_T_51BYQSJXDZXBZMX_YTBSF
AFTER INSERT OR DELETE OR UPDATE ON BGT_T_51BYQSJXDZXBZMX
FOR EACH ROW
DECLARE
TYBSF VARCHAR2(32);
M1 VARCHAR2(2);
M2 VARCHAR2(2);
M3 VARCHAR2(2);
M4 VARCHAR2(2);
M5 VARCHAR2(2);
M6 VARCHAR2(2);
M7 VARCHAR2(2);
BEGIN
IF INSERTING OR UPDATING THEN
M1 := :NEW.YYRYJF1;
M2 := :NEW.YYYWBZ2;
M3 := :NEW.YYZXGZJF3;
M4 := :NEW.YYQYFCJF4;
M5 := :NEW.YYJBJSZJ5;
M6 := :NEW.SJGY6;
M7 := :NEW.QTYT7;
IF M1 <> 0 THEN
TYBSF := '1';
ELSE
null;
END IF;
IF M2 <> 0 THEN
IF TYBSF <> '' THEN
TYBSF := TYBSF || ',2';
END IF;
END IF;
IF M3 <> 0 THEN
IF TYBSF <> '' THEN
TYBSF := TYBSF || ',3';
END IF;
END IF;
IF M4 <> 0 THEN
IF TYBSF <> '' THEN
TYBSF := TYBSF || ',4';
END IF;
END IF;
IF M5 <> 0 THEN
IF TYBSF <> '' THEN
TYBSF := TYBSF || ',5';
END IF;
END IF;
IF M6 <> 0 THEN
IF TYBSF <> '' THEN
TYBSF := TYBSF || ',6';
END IF;
END IF;
IF M7 <> 0 THEN
IF TYBSF <> '' THEN
TYBSF := TYBSF || ',7';
END IF;
END IF;
UPDATE BGT_T_51BYQSJXDZXBZMX T SET T.X_YTBSF = TYBSF;
end if;
END BGT_T_51BYQSJXDZXBZMX_YTBSF;
解决方案 »
- 开启Oracle 归档日志问题,求救
- 关于sql执行顺序的问题
- 这里应该牛人多,所以发帖问问, 求 interquery parallelism有关的资料, 论文,或是任何有用的material,中文,英文资料都可,(英文最好),谢谢了
- Oracle与EXCEL互换数据
- exp导出数据的小问题
- 小问题!请大家帮帮忙 ?
- 有关自动撤销管理相关的问题
- 关于ORACLE系统运行的操作系统选型问题(WINDOWS OR LINUX)
- 为什么没人回答我??
- 如何在oracle9i的Enterprise Manager Console中建一个新的方案?
- 同一语句,10g和11g的执行计划差距很大,求解??
- oracle转换时间格式的问题
更大的问题是UPDATE BGT_T_51BYQSJXDZXBZMX T SET
T.X_YTBSF=TYBSF;应该写成
:new.X_YTBSF:=tybsf;下次把错误信息贴出来,及时结贴。要不答这样的问题还真是没动力