当前位置: 代码迷 >> Oracle技术 >> 【求教】ORACLE 动态语法有关问题
  详细解决方案

【求教】ORACLE 动态语法有关问题

热度:313   发布时间:2016-04-24 08:06:20.0
【求教】ORACLE 动态语法问题
我有一张表 结构图如下

我将表结构的属性 存在一张字典表里 


CREATE OR REPLACE TRIGGER TR_LOG_UPDATE_JYT
  BEFORE UPDATE ON T_JYT
  FOR EACH ROW
DECLARE

BEGIN
 FOR LOG_LIST IN (SELECT * FROM T_LOG_CONFIG TCL WHERE TCL.ITEMS_TYPE = 'J')  -- 存字典数据表
   LOOP
    -- :NEW  修改后的 T_JYT   :OLD 修改前的 T_JYT
    IF(:NEW.[LOG_LIST.ITEMS_PROPERTY] <> :OLD.[LOG_LIST.ITEMS_PROPERTY]) THEN -- 这个语法不行 示例最终结果

        INSERT INTO T_LOG (ID,OPTTIME,OPTNAME,OPTFACE,OPT,CPXH,
                            OPT_MEMO,OPT_ITEMS,OPT_SUBITEMS,OPT_LABEL,OPT_OLD_VALUE,
                            OPT_NEW_VLAUE,OPT_BGBH)
                VALUES ( SYS_GUID() , SYSDATE , :NEW.CZY , V_OPTFACE , '修改' , :NEW.CPXH,
                         '操作UUID:' || :NEW.ID ,'' , '' ,
                         '' ,'' ,
                         '' , :NEW.BGDBH ) ;
                COMMIT;
    END IF;
   END LOOP;
END TR_LOG_UPDATE_JYT;
------解决思路----------------------
if updating('C') then --判断c字段是否进行了更新操作
  相关解决方案