トリガーの書き込みは初めてです。コード/マザーテーブルのレコードが影響を受けるとすぐにテーブルを挿入/更新するトリガーを作成しました。つまり、初めてレコードを挿入する場合、他の関連するレコードとともにそのレコードを挿入する必要があります新しいテーブルの情報。更新にも同じことが適用されます..以下は私が試したコードです.しかし、それがうまくいかないということは、コンパイルが成功したとしても..ターゲットテーブルにレコードを挿入できないことを意味します.. TQA_USER_ASSESSMENT のデータに従って入力/更新されます。
CREATE TRIGGER [dbo].[TRG_RAM_DETAILS_GMAS] ON [dbo].[TQA_USER_ASSESSMENT] FOR INSERT,UPDATE
AS
SET XACT_ABORT, NOCOUNT ON
--Ignore zero row updates, inserts
IF NOT EXISTS (SELECT * FROM INSERTED) RETURN;
INSERT INTO TQA_RAM_DETAILS_GMAS
SELECT
tu.name AS User_Name,
tat.assessmentType AS Assessment_Type,
tb.name AS Business_Class_Name,
tr.name AS Region_Name,
tc.name AS Country_Name,
tf.facilityName AS Terminal_Name,
I.ovr_terminal_rating AS Terminal_Rating,
CONVERT(VARCHAR(10), I.dateOfInspection, 103) AS Date_of_Inspection,
CONVERT(VARCHAR(10), I.dateNextInspectionDue, 103) AS Expiry_date_of_rating,
CONVERT(VARCHAR(10), I.summ_lastUpdated, 103) AS lastUpdated
FROM
INSERTED I INNER JOIN
dbo.TQA_USERS tu ON I.userID=tu.userID INNER JOIN
dbo.TQA_ASSESSMENT_TYPE AS tat ON tat.assessmentTypeID = I.assessmentTypeID INNER JOIN
dbo.TQA_FACILITIES AS tf ON tf.facilityID = I.facilityID INNER JOIN
dbo.TQA_ACCESS ta ON ta.facilityID=tf.facilityID INNER JOIN
dbo.TQA_BUSINESS_CLASSES tb ON tb.businessClassID= ta.businessClassID INNER JOIN
dbo.TQA_REGIONS tr ON tr.regionID= ta.regionID INNER JOIN
dbo.TQA_COUNTRIES tc ON tc.countryID= ta.countryID