【发布时间】:2014-02-27 09:32:34
【问题描述】:
我有几个表格,列有Archive。在触发器上,我想检查该值是否存在于多个表中。
当然,我可以为每个表复制查询,但我认为使用变量执行此操作会更容易。
我有一个表 RefTable,其中所有表都在数据集 ID, TblName 中创建。
所有表都在同一个数据库中
这是我想要的,但它不起作用:
IF EXISTS (SELECT archive from (select TblName FROM RefTable) WHERE archive = @var)
【问题讨论】:
-
@RahulTripathi - 是的,所以我们可以将其作为此类问题的所有其他示例的副本关闭。为此,需要某种形式的动态 SQL - 您不能将变量用于表名(或任何其他标识符)。此站点上有许多示例 - 请查找使用您的特定 RDBMS 供应商的示例(尽管这些答案中的大多数都与 db 无关)。
标签: sql sql-server tsql