各位:
正如标题所说:
以下是本人写的代码:但有错
CREATE OR REPLACE TRIGGER T_GetOutLetVarierry
BEFORE UPDATE ON ALL_TBSJ
FOR EACH ROW
DECLARE
OLD_Value VARCHAR2(500);
Total_ROWS INT;
V_SQL_OldVavlus VARCHAR2(100);
V_SQL VARCHAR2(100);
CURSOR Select_Column IS
SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'ALL_TBSJ';
CURSOR_COLUMNS USER_TAB_COLUMNS.COLUMN_NAME%TYPE;
OPEN Select_Column;
FETCH Select_Column INTO CURSOR_COLUMNS;
WHILE Select_Column %FOUND LOOP
-- V_SQL_OldVavlus := 'SELECT :OLD.'||CURSOR_COLUMNS||' INTO OLD_Value FROM DUAL'; --fetch the old data for change column
DBMS_OUTPUT.PUT_LINE(':OLD.'||CURSOR_COLUMNS)
EXECUTE IMMEDIATE V_SQL_OldVavlus;
SELECT COUNT(*) INTO Total_ROWS FROM ALL_TBSJ WHERE COLUMN_NAME = OLD_Value;---judgm