【问题标题】:SQL Server CTE with multiple delete statements具有多个删除语句的 SQL Server CTE
【发布时间】:2017-11-10 08:54:45
【问题描述】:

我有 CTE:

;WITH DeleteTarget AS
(
    ....
)

如何将此 CTE 用于两个删除语句 - 可能像:

DELETE FROM [TableA]
WHERE ColumnA IN (SELECT Id FROM DeleteTarget)

DELETE FROM [TableB]
WHERE ColumnB IN (SELECT Name FROM DeleteTarget)

【问题讨论】:

    标签: common-table-expression sql-server-2016


    【解决方案1】:

    您不能 - CTE 仅存在于 the one, next statement

    如果您需要 CTE 不止一次提供的这些信息,您需要:

    • 将结果集存储到表变量或临时表中
    • 然后使用该表变量/临时表执行多个语句

    【讨论】:

      猜你喜欢
      • 2018-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      相关资源
      最近更新 更多