Sql server 是否可以在存储过程中调用存储过程并将结果放入临时表中,而无需先创建临时表?
我试图从另一个存储过程中调用一个存储过程,并在不首先创建临时表的情况下将结果放入临时表中。有可能做到这一点,还是有更好的方法?我想使用结果集有多列多行的存储过程或函数。thxSql server 是否可以在存储过程中调用存储过程并将结果放入临时表中,而无需先创建临时表?,sql-server,sql-server-2008,sql-server-2000,Sql Server,Sql Server 2008,Sql Server 2000,我试图从另一个存储过程中调用一个存储过程,并在不首先创建临时表的情况下将结果放入临时表中。有可能做到这一点,还是有更好的方法?我想使用结果集有多列多行的存储过程或函数。thx sproc A .. begin -- create table #tmp.... -- Try not to create the #tmp table first if possible exec sproc_B ... put results from sproc_B in #tmp end spro
sproc A
..
begin
-- create table #tmp.... -- Try not to create the #tmp table first if possible
exec sproc_B ... put results from sproc_B in #tmp
end
sproc B
..
@id int
..
begin
select table from aTable where id = @id
end
问了类似的问题。是的,但在中使用之前必须创建表。语法是: 插入到您的表EXEC YourProc
不用说,表的结构应该与SP的输出相匹配?是的,但您必须在中使用之前创建表。语法是: 插入到您的表EXEC YourProc
不用说,表的结构应该与SP的输出相匹配?是否可以在不首先创建临时表的情况下将其添加到临时表中?@RetroCode:No。替代方法是使用可怕的表UDF。@RetroCoder:No.INSERT。。EXEC需要一个预先存在的table@JohnSansom:如果是串联TVF,则它只是一个串联宏。我猜你指的是一个多语句的TVF?@gbn:是的,先生。有人会质疑在问题上下文中使用单个语句存储过程的价值。如果是这样的话,只需将相关代码带到调用过程中,就可以避免试图解决的整个问题。是否可以在不首先创建临时表的情况下将其添加到临时表中?@RetroCode:No。替代方法是使用可怕的表UDF。@RetroCoder:No.INSERT。。EXEC需要一个预先存在的table@JohnSansom:如果是串联TVF,则它只是一个串联宏。我猜你指的是一个多语句的TVF?@gbn:是的,先生。有人会质疑在问题上下文中使用单个语句存储过程的价值。如果是这样的话,那么只要将相关代码带到调用过程中,就可以避免试图解决的整个问题。ThxB但是另一个问题没有提到从一个存储过程调用另一个存储过程。可能是的,这就是我需要的。Thx但另一个问题没有提到从一个存储过程调用另一个存储过程。您好,是的,但我也可以在不首先创建临时表的情况下执行此操作。。。从TSOMETABLE中选择*into ANETEMPTABLE没有什么大不了的,我只想改变我的问题,b/c这就是我要做的。嗨,是的,但我也可以不先创建临时表,就这样做。。。从TSOMETABLE中选择*进入一个新的可清空。没什么大不了的,我只想改变我的问题,b/c这就是我要做的。
create table #tmp....
insert #tmp
exec sproc_B
CREATE TABLE #tmpTable
(
COL1 INT,
COL2 INT
)
INSERT INTO #tmpTable
Exec spGetResultset 'Params'