У меня есть триггер вставки для вставки записей из таблицы T_PDF в T_WV_RESULT. Приведенный ниже триггер срабатывает, когда новые записи вставляются в таблицу T_PDF. Теперь мне нужен триггер обновления для приведенного ниже.
T_PDF Структура таблицы
CREATE TABLE [dbo].[T_PDF](
[F_PRODUCT] [varchar](50) NOT NULL,
[F_LANGUAGE] [varchar](2) NOT NULL,
[F_FORMAT] [varchar](3) NOT NULL,
[F_SUBFORMAT] [varchar](4) NOT NULL,
[F_DATE_STAMP] [datetime] NOT NULL,
[F_PLANT] [varchar](10) NOT NULL,
[F_SUPPLIER] [varchar](200) NOT NULL,
[F_PRODUCT_NAME] [nvarchar](2000) NULL,
[F_DATE_REVISED] [datetime] NULL,
[F_PDF] [varbinary](max) NULL,
[F_AUTHORIZED] [smallint] NULL,
[F_Published_Date] [datetime] NULL,
[F_CAS_NUMBERS] [varchar](4000) NULL,
[F_COMPONENT_IDS] [varchar](4000) NULL,
[F_ISSUE_DATE] [datetime] NULL,
[F_DISPOSAL_DATE] [datetime] NULL,
[F_DOC_TYPE] [smallint] NOT NULL,
[F_DOC_PATH] [varchar](200) NULL,
[F_KEYWORDS] [varchar](255) NULL,
[F_CUSTOM1] [nvarchar](4000) NULL,
[F_CUSTOM2] [nvarchar](4000) NULL,
[F_CUSTOM3] [nvarchar](4000) NULL,
[F_CUSTOM4] [nvarchar](4000) NULL,
[F_CUSTOM5] [nvarchar](4000) NULL,
[F_GUID] [uniqueidentifier] NULL,
[F_User_Updated] [varchar](15) NULL,
[F_REV_NUM] [real] NULL,
[F_IS_S3] [bit] NULL,
[F_COUNTER] [int] IDENTITY(1,1) NOT NULL,
CONSTRAINT [PK_T_PDF] PRIMARY KEY CLUSTERED
(
[F_PRODUCT] ASC,
[F_LANGUAGE] ASC,
[F_FORMAT] ASC,
[F_SUBFORMAT] ASC,
[F_DATE_STAMP] ASC,
[F_PLANT] ASC,
[F_DOC_TYPE] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
T_WV_RESULT Структура таблицы
CREATE TABLE [dbo].[T_WV_RESULT](
[ID] [varchar](50) NULL,
[NAME] [nvarchar](2000) NULL,
[FMTCODE] [varchar](3) NULL,
[SFMTCODE] [varchar](4) NULL,
[SFMT] [varchar](30) NULL,
[LANGCODE] [varchar](2) NULL,
[LANG] [varchar](50) NULL,
[PLANTCODE] [varchar](10) NULL,
[RDATE] [datetime] NULL,
[CASNUM] [varchar](4000) NULL,
[TN] [varchar](4000) NULL,
[CP] [varchar](4000) NULL,
[CUS5] [varchar](4000) NULL,
[MANU] [varchar](max) NULL,
[SYN] [nvarchar](4000) NULL,
[ICO] [nvarchar](4000) NULL,
[DOC] [varchar](2000) NULL,
[COVER] [varchar](100) NULL,
[GUID] [varchar](256) NULL,
[SDS] [varchar](4) NULL,
[SITECODE] [varchar](8) NULL,
[PDATE] [datetime] NULL,
[CASDATA] [varchar](4000) NULL,
[CUS3] [varchar](4000) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ВСТАВИТЬ ТРИГГЕР
CREATE TRIGGER [dbo].[T_PDF_WV_RESULT] ON [dbo].[T_PDF]
AFTER INSERT
AS
BEGIN
INSERT T_WV_RESULT (ID , NAME, SFMTCODE, SFMT,
LANGCODE, LANG, PLANTCODE, FMTCODE,
RDATE, CASNUM, TN, CP,
CUS5, MANU, SYN, ICO,
DOC, COVER, [GUID], SDS,
SITECODE, PDATE, CASDATA, CUS3
)
SELECT TP.F_PRODUCT, TP.F_PRODUCT_NAME, TP.F_SUBFORMAT, (SELECT MS.F_MSDSTYPE_DESC FROM T_MSDSTYPES MS WHERE MS.F_MSDSTYPE = TP.F_SUBFORMAT AND MS.F_FORMAT = TP.F_FORMAT) AS SFMT,
TP.F_LANGUAGE, (SELECT TL.F_LANGUAGE_NAME FROM T_LANGUAGES TL WHERE TL.F_LANGUAGE = TP.F_LANGUAGE) AS LANG, TP.F_PLANT AS PLANTCODE, TP.F_FORMAT AS FMTCODE,
TP.F_DATE_REVISED, F_CAS_NUMBERS, TP.F_CUSTOM1, TP.F_CUSTOM2,
(SELECT TC.F_COUNTRY_NAME FROM T_COUNTRIES TC WHERE TC.F_COUNTRY_CODE = TP.F_CUSTOM5) AS cus5,
(SELECT F_PHRASE FROM [V_PROD_ALIAS_MANU] WHERE F_PRODUCT = TP.F_PRODUCT) AS MANU,
(SELECT F_DATA FROM V_PROD_ALIAS_SYN WHERE F_PRODUCT = TP.F_PRODUCT) AS SYN,
(SELECT F_DATA FROM V_PROD_ALIAS_ICO WHERE F_PRODUCT = TP.F_PRODUCT) AS ICO,
'SDS - ' + (SELECT TL.F_LANGUAGE_NAME FROM T_LANGUAGES TL WHERE TL.F_LANGUAGE = TP.F_LANGUAGE) + ' - PDF' AS DOC, '' AS COVER, CAST(TP.F_GUID AS VARCHAR(36)) + '_PDF' AS [GUID], 'PDF' AS SDS,
(SELECT TOP 1 F_TEXT_CODE FROM V_PROD_ALIAS_SITE WHERE F_PRODUCT = TP.F_PRODUCT) AS SITECODE,
TP.F_PUBLISHED_DATE, (SELECT F_DATA FROM V_PROD_ALIAS_CASN WHERE F_PRODUCT = TP.F_PRODUCT) AS CASDATA, TP.F_CUSTOM3 AS CUS3
FROM INSERTED TP
WHERE TP.F_AUTHORIZED IN (0,3)
Он также содержит несколько подзапросов. Как я могу написать триггер обновления для этого?