親テーブルとその子テーブルがある監査テーブルを維持しています。親監査テーブルの主キーをその子監査テーブルに挿入したいと思います。「挿入用」トリガーではなく「挿入前」
を宣言する必要があります。これが私のコードです:
CREATE trigger [trgAudtblChild] On [tblChild]
for Insert
as
BEGIN
declare @serNo bigint
declare @expSerNo int
declare @postPercent numeric (12, 2)
declare @prdSAPid varchar (50)
declare @lastUpdatedBy int
declare @lastUpdatedOn smalldatetime
SELECT
--@serno = serno,
@expSerNo = expSerNo ,
@postPercent = postPercent ,
@prdSAPid = prdSAPid ,
@lastUpdatedBy = lastUpdatedBy ,
@lastUpdatedOn = lastUpdatedOn
FROM INSERTED
select @serno = max(at_serno) from AT_tblParent
insert into AT_tblChild(serNo, expSerNo, postPercent
, prdSAPid, lastUpdatedBy, lastUpdatedOn
, change_column_index) values(
@serNo, @expSerNo, @postPercent
, @prdSAPid, @lastUpdatedBy, @lastUpdatedOn
, 'INSERTED')
End
Return
上記のコードは機能せず、テーブルをトランザクションに入れます。