T-SQL中是否有一种机制可以暂时命名查询?
具体来说,我希望能够在不使用存储过程的情况下完成此操作,因为这些最终将是一次性的,并且我希望它们在批处理结束后不存在。
类似的东西,
/* this is woefully invalid syntax */
DECLARE @reps = SELECT DISTINCT NAME FROM Representatives
SELECT * FROM OtherTable
WHERE RepName not in @reps
答案 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)