【发布时间】:2012-03-28 23:44:24
【问题描述】:
我有一个 SelectSP,它返回我存储在临时表中的结果集。现在我想调用另一个名为 InsertSP 的 SP,并将这个临时表中的值作为参数传递给它。
这是我目前的代码:
CREATE TABLE #tempTable
(
Field1 VARCHAR(255),
Field2 VARCHAR(255),
Field3 VARCHAR(255),
Field4 VARCHAR(255),
Field5 VARCHAR(255),
Field6 VARCHAR(255),
Field7 VARCHAR(255)
.
.
.
)
INSERT INTO #tempTable exec
usp_SelectSP 'p1' ,'p2', 'p3'
现在我想再执行一个 SP 并将 tempTable 的 Field1、Field2、Field3 作为参数传递给该 SP。
我在想这样的事情
usp_InsertSP
@param1 = Field1
@Param2 = Field2
@Param3 = Field3
FROM #tempTable.
最好的方法是什么?
【问题讨论】:
-
您是要为单行调用存储过程,还是需要多次调用该过程,每行一次?为什么被调用的过程不能只是
SELECT values FROM #temp?被调用者应该可以看到调用者创建的#temp 表。 -
我需要多次调用它
-
我无法更改 InsertSP。我已经给它传递了参数。
-
你能提供一些关于第二个存储过程对正在传递的参数做什么的线索吗?
-
执行一些业务逻辑,往表中插入数据
标签: sql-server sql-server-2005 stored-procedures