使用して監査証跡用の挿入ステートメントをfor xml
生成しましたが、正しい挿入ステートメントが生成されます。以下は生成されるものです。
これがPrint @SQL
出力されるものです:
INSERT INTO [AuditLog]
(
[TableName]
,[ColumnName]
,[Value]
,[Action]
,[TimeStamp]
) 
SELECT 
'Book'
,'BookID'
,CONVERT(VARCHAR(MAX), BookID)
,CONVERT(VARCHAR(MAX), 1)
,getdate()
FROM INSERTED;
INSERT INTO [AuditLog]
(
[TableName]
,[ColumnName]
,[Value]
,[Action]
,[TimeStamp]
) 
SELECT 
'Book'
,'c_Name'
,CONVERT(VARCHAR(MAX), c_Name)
,CONVERT(VARCHAR(MAX), 1)
,getdate()
FROM INSERTED;
INSERT INTO [AuditLog]
(
[TableName]
,[ColumnName]
,[Value]
,[Action]
,[TimeStamp]
) 
SELECT 
'Book'
,'c_Author'
,CONVERT(VARCHAR(MAX), c_Author)
,CONVERT(VARCHAR(MAX), 1)
,getdate()
FROM INSERTED;
INSERT INTO [AuditLog]
(
[TableName]
,[ColumnName]
,[Value]
,[Action]
,[TimeStamp]
) 
SELECT 
'Book'
,'c_Price'
,CONVERT(VARCHAR(MAX), c_Price)
,CONVERT(VARCHAR(MAX), 1)
,getdate()
FROM INSERTED;
ただし、を使用して実行しようとするとEXECUTE(@SQL)
、エラー メッセージが表示されます。
「&」付近の構文が正しくありません。