假设我有一个表变量定义为:
DECLARE @FilteredIDs TABLE(ID UNIQUEIDENTIFIER, UNIQUE CLUSTERED (ID))
函数可以返回表变量,所以假设我有一个函数接受一些输入并返回@OutputTable
(具有相同的定义)。现在假设我想在一个循环中多次调用该函数,每次都传递不同的参数,每次我想将@FilteredIDs
与@OutputTable
相交并将结果相交的集合返回给{ {1}}变量,以便在循环结束时,@FilteredIDs
将包含所有迭代的所有交叉点的结果。
我找不到有关如何设置表变量值的任何信息。一旦声明,我只能像表一样使用它,而不是表'变量'(例如@FilteredIDs
似乎不是有效的声明)。我可以截断表并重新插入数据,但由于我已经将数据插入到第3个表变量中,我只想将第一个表变量引用到第3个表,而不必截断第一个表并重新插入所有数据
如果这是不可能的,那么可能有一种方法以这种方式重命名临时表,这样当稍后在过程中使用相同的临时表名时,它引用的是与开始时不同的表。程序?