|
drewc
Starting Member
3 Posts |
Posted - 2002-06-04 : 14:46:04
|
Almost there... Converting my triggers to 'Instead Of' due to the use of text and ntext fields in SQL 2000 and cannot figure out how to access the data passed in from the original query by the update trigger. Here's the statement, can anyone tell me how I can access the updated field data in the inserted table ?? (inserted.FIELD_NAME does not work on an update)Thanks much,Drew---------------------------------------------Create Trigger "dbo.MNINSDTL_UPDATE_HISTORY" On dbo.MNINSDTL INSTEAD OF UPDATE As --THIS SECTION DOES NOT WORK! --These values are passed from an SQL statement in an ASP page as a basic update statement.--UPDATE VALUES IN MNINSDTLUPDATE MNINSDTL SET STATUS_ID = inserted.STATUS_ID, CUSTOMER_NAME = inserted.CUSTOMER_NAME, PRODUCT_NAME = inserted.PRODUCT_NAME, TYPE_ID = inserted.TYPE_ID, MGR_ID = inserted.MGR_ID, FE_SERVICE_ORDER_NO = inserted.FE_SERVICE_ORDER_NO, FE_CIRCUIT_ID = inserted.FE_CIRCUIT_ID, LOCAL_ORDER_NO = inserted.LOCAL_ORDER_NO, TCOMS_CIRCUIT_ID = inserted.TCOMS_CIRCUIT_ID, NIC_TICKET_NO = inserted.NIC_TICKET_NO, REQ_DATE = inserted.REQ_DATE, CONF_NO = inserted.CONF_NO, CONF_CODE = inserted.CONF_CODE, LOCAL_CONTACT_NAME = inserted.LOCAL_CONTACT_NAME, LOCAL_CONTACT_PHONE = inserted.LOCAL_CONTACT_PHONE, LOCAL_CONTACT_CELL = inserted.LOCAL_CONTACT_CELL, LOCAL_CONTACT_PAGER = inserted.LOCAL_CONTACT_PAGER, VENDOR_NAME = inserted.VENDOR_NAME, VENDOR_PHONE = inserted.VENDOR_PHONE, VENDOR_CELL = inserted.VENDOR_CELL, VENDOR_PAGER = inserted.VENDOR_PAGER, WCOM_TECH = inserted.WCOM_TECH, WCOM_TECH_BACKUP = inserted.WCOM_TECH_BACKUP, EMAIL_RECIPIENTS = inserted.EMAIL_RECIPIENTS, COMMENTS = inserted.COMMENTS, LAST_UPDATE_BY = inserted.LAST_UPDATE_BY, LAST_UPDATE_DATE = inserted.LAST_UPDATE_DATEWHERE REQ_ID = inserted.REQ_ID-----------------------------------------------THIS SECTION WORKS!--INSERT VALUES IN MNINSDTL_HISTORY INSERT MNINSDTL_HISTORY ( ACTION_TYPE, ACTION_DATE, REQ_VERSION, REQ_ID, STATUS_ID, CUSTOMER_NAME, PRODUCT_NAME, TYPE_ID, MGR_ID, FE_SERVICE_ORDER_NO, FE_CIRCUIT_ID, LOCAL_ORDER_NO, TCOMS_CIRCUIT_ID, NIC_TICKET_NO, REQ_DATE, CONF_NO, CONF_CODE, LOCAL_CONTACT_NAME, LOCAL_CONTACT_PHONE, LOCAL_CONTACT_CELL, LOCAL_CONTACT_PAGER, VENDOR_NAME, VENDOR_PHONE, VENDOR_CELL, VENDOR_PAGER, WCOM_TECH, WCOM_TECH_BACKUP, EMAIL_RECIPIENTS, COMMENTS, CREATED_BY, CREATED_DATE, LAST_UPDATE_BY, LAST_UPDATE_DATE, DELETED) SELECT 'UPDATED', DATEADD(hh , -1, GETDATE()), CASE WHEN MAX_VERSION.MAX_VERSION_ID IS NULL THEN 1 ELSE MAX_VERSION.MAX_VERSION_ID + 1 END, REQ_ID, STATUS_ID, CUSTOMER_NAME, PRODUCT_NAME, TYPE_ID, MGR_ID, FE_SERVICE_ORDER_NO, FE_CIRCUIT_ID, LOCAL_ORDER_NO, TCOMS_CIRCUIT_ID, NIC_TICKET_NO, REQ_DATE, CONF_NO, CONF_CODE, LOCAL_CONTACT_NAME, LOCAL_CONTACT_PHONE, LOCAL_CONTACT_CELL, LOCAL_CONTACT_PAGER, VENDOR_NAME, VENDOR_PHONE, VENDOR_CELL, VENDOR_PAGER, WCOM_TECH, WCOM_TECH_BACKUP, EMAIL_RECIPIENTS, COMMENTS, CREATED_BY, CREATED_DATE, LAST_UPDATE_BY, LAST_UPDATE_DATE, DELETED FROM inserted LEFT JOIN ( SELECT MAX(MNINSDTL_HISTORY.REQ_VERSION) AS MAX_VERSION_ID FROM MNINSDTL_HISTORY JOIN inserted ON MNINSDTL_HISTORY.REQ_ID = inserted.REQ_ID ) AS MAX_VERSION ON 1=1Edited by - drewc on 06/04/2002 14:49:58Edited by - drewc on 06/04/2002 14:50:58 |
|