我正在尝试创建一个过程,该过程将生成给定表的 xml 文档,同时更新所述表中的信息。CREATE TABLE
除非我使用语句(我还没有尝试过 table var),否则我的过程无法识别临时表的使用。CREATE TABLE
理想情况下,如果我/其他开发人员想在将来添加另一列,我不会使用该语句。
这是我目前的代码:
UPDATE Audit.ErrorLog SET ErrorReported = 0 OUTPUT inserted.* INTO ##temp
SELECT *
FROM ##temp
FOR XML PATH('Error'), ROOT ('Errors')
DROP TABLE ##temp
它失败了:
消息 208,第 16 级,状态 0,第 24 行
无效的对象名称“##temp”。
如果我必须使用声明,这不是世界末日CREATE TABLE
,但我不想明确声明它。
笔记:
- 我知道目前没有错误处理,我想先让这部分工作。
- 我也尝试过命名列而不是使用
Inserted.*
- 我故意设置
ErrorReported = 0
为我在测试环境中
您必须使用 Audit.ErrorLog Columns 创建一个临时表,然后获取输出记录。