Hello,
is it possible to access trigger variables in dinamic sql statement:

CREATE TRIGGER EMPLOYEE_UPDATE FOR EMPLOYEE AFTER UPDATE EXECUTE
(
  VAR
    EVENTTABLEID FIXED(10);
    COLNAME VARCHAR(30);
    STMT VARCHAR(100);
    COLCHNG FIXED(38);
    I FIXED (38);

  SET COLCHNG = 0;
  SET I = 1;

  DECLARE COLNAME_CURSOR CURSOR FOR
    SELECT COLUMNNAME FROM DOMAIN.COLUMNS WHERE TABLENAME = 'EMPLOYEE';
  WHILE ($RC <> 100) DO
  BEGIN
    FETCH COLNAME_CURSOR INTO :COLNAME;
SET stmt = 'IF (OLD.' || colName || ' <> NEW.' || colName || ') THEN SET colChng = ' || colChng|| ' + ' || i;
    EXECUTE stmt;
    SET I = I*2;
  END;

  CALL ADMIN.GENERATE_EVENTS(1, :OLD.ID, 2, :COLCHNG);
)

EXECUTE stmt; doesn't work
it should do next task:
IF (NEW.COLNAME <> OLD.COLNAME) THEN
  SET colChng = colChng + i;
for every column of table "EMPLOYEE" but returns an error.

Can I obtain such result in trigger code ?

Thank you for your support, Dusan.

--
Dusan Kolesar
Helsinska 19
040 13  Kosice
Slovakia
e-mail primary : [EMAIL PROTECTED]
e-mail alternative : [EMAIL PROTECTED]
ICQ# : 160507424


--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to