-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

0

令人难以置信的是,我找到了非常简单的解决方案。我使用COALESCE函数来生成动态插入语句,我没有看到任何特殊字符,否则它会用于 xml

于 2015-09-22T19:56:01.850 回答