在单个语句中选择和执行 - SQL服务器

时间:2009-03-12 15:01:54

标签: sql-server

我在SP中有临时表。我在其中插入了一些值。我需要通过从临时表中发送值来执行第二个SP。我宁愿避免使用局部变量。

DECLARE @tmp TABLE
(
  Name VARCHAR(200).
  Code INT
)

INSERT INTO @tmp
SELECT 'TEST', 100

EXEC MyProc
  @Name = --Here I send the values from temp
  @Code =

3 个答案:

答案 0 :(得分:2)

创建一个实际的临时表#TempTable而不是@varibale表,你可以在父存储过程和子存储过程之间共享...

http://www.sommarskog.se/share_data.html#temptables

答案 1 :(得分:1)

除非您使用允许表数据类型的SQL Server 2008,否则不能这样做。哪个可以用作存储过程参数。

否则从SQL 2000/2005开始,对于临时表中的10行,您需要遍历10个内部存储过程调用。

答案 2 :(得分:0)

您可以将它全部包装在一个SP中。