以下は、サブクエリを使用して列 TableString に値を返す、トリガーされた SQL の一部です。サブクエリは、最初の 2 つの値と Fname の「マーカー」を返しますが、その後は何も返しません (セミコロンでさえありません)。TableString 列は、255 文字に設定された nvarchar であり、挿入または更新中に同様のデータをすべてキャプチャします。
INSERT INTO TransactionLog (TransactionDate, Operator, TableName, Action
, TableString, UserId)
SELECT LastChangeDate
, 'Op'
, @tableName
, @action
, CAST('sNum:' + CAST(sNumber as nvarchar(10)) + ' entType:' + EntityType
+ ' Fname:' + ISNULL(FirstName, 'NULL')
+ ' Lname:' + ISNULL(LastName, 'NULL')
+ ' suff:' + ISNULL(NameSuffix, 'NULL')
+ ' corpName:' + ISNULL(CorporateName, 'NULL' )
+ ' ctrlId:' + ISNULL(CAST(ControlId as nvarchar(3)), 'NULL')
AS nvarchar(30)) as TableString
, LastChangeOperator
FROM deleted
TableString の戻り値:
sNum:1000024 entType:S Fname