-1

使用して監査証跡用の挿入ステートメントを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)、エラー メッセージが表示されます。

「&」付近の構文が正しくありません。

4

1 に答える 1