You can use the example code provided here to know further about creating change table and triggers in MS SQL.
-- Source table msid.email.
-- This will be the table that the RDBMS Change Detection Connector will detect changes on.
CREATE TABLE msid.email
(
NAME VARCHAR (80),
EMAIL VARCHAR (80)
);
-- CCD table to capture changes. The RDBMS Change Detection Connector uses the CCD table to capture
-- all the changes in the source table. This table needs to be created in the following format.
CREATE TABLE msid.ccdemail
(
IBMSNAP_MSTMSTMP timestamp,
IBMSNAP_COMMITSEQ BINARY(10) NOT NULL,
IBMSNAP_INTENTSEQ BINARY(10) NOT NULL,
IBMSNAP_OPERATION CHAR(1) NOT NULL,
IBMSNAP_LOGMARKER DATETIME NOT NULL,
NAME VARCHAR (80),
EMAIL VARCHAR (80)
);
CREATE TRIGGER msid.email_ins_trig ON msid.email
FOR INSERT AS
BEGIN
INSERT INTO msid.ccdemail
(NAME,
EMAIL,
IBMSNAP_COMMITSEQ,
IBMSNAP_INTENTSEQ,
IBMSNAP_OPERATION,
IBMSNAP_LOGMARKER )
SELECT
NAME,
EMAIL,
@@DBTS,
@@DBTS,
'I',
GETDATE() FROM inserted
END;
-- creating DELETE trigger to capture delete operations on email table
CREATE TRIGGER msid.email_del_trig ON msid.email
FOR DELETE AS
BEGIN
INSERT INTO msid.ccdemail
(
NAME,
EMAIL,
IBMSNAP_COMMITSEQ,
IBMSNAP_INTENTSEQ,
IBMSNAP_OPERATION,
IBMSNAP_LOGMARKER
)
SELECT
NAME,
EMAIL,
@@DBTS,
@@DBTS,
'D',
GETDATE() FROM deleted
END;#
-- creating UPDATE trigger to capture update operations on email table
CREATE TRIGGER msid.email_upd_trig ON msid.email
FOR UPDATE AS
BEGIN
INSERT INTO msid.ccdemail
(
NAME,
EMAIL,
IBMSNAP_COMMITSEQ,
IBMSNAP_INTENTSEQ,
IBMSNAP_OPERATION,
IBMSNAP_LOGMARKER
)
SELECT
NAME,
EMAIL,
@@DBTS,
@@DBTS,
'U',
GETDATE() FROM inserted
END;