分配名称以临时查询

时间:2016-09-17 18:07:23

标签: sql sql-server tsql

T-SQL中是否有一种机制可以暂时命名查询?

具体来说,我希望能够在不使用存储过程的情况下完成此操作,因为这些最终将是一次性的,并且我希望它们在批处理结束后不存在。

类似的东西,

/* this is woefully invalid syntax */
DECLARE @reps = SELECT DISTINCT NAME FROM Representatives

SELECT * FROM OtherTable 
WHERE RepName not in @reps

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,我想你可能正在寻找一些动态SQL

-M

另一种选择是创建表变量

Declare @Reps varchar(max) = 'Select Distinct [Name] FROM Representatives'

Declare @SQL varchar(max) = 'Select * From OtherTable Where RepName not in ('+@Reps+')'
Exec(@SQL)