如何从没有临时表的另一个存储过程调用存储过程(带参数)

SQL*_*Bee 22 stored-procedures sql-server-2008

我有存储过程A并希望通过传递@mydate参数从A调用存储过程B. 存储过程B将返回一个行集,我可以在程序A中进一步使用.

我在Google上研究了这个,但没有使用临时表就找不到任何东西.有一个简单的方法来获得这个没有临时表.

PS:我试图使用存储过程作为A和一个函数作为B轻松完成此操作.但是想知道我是否只能通过使用存储过程来完成它.

Aru*_* CM 15

 Create PROCEDURE  Stored_Procedure_Name_2
  (
  @param1 int = 5  ,
  @param2 varchar(max),
  @param3 varchar(max)

 )
AS


DECLARE @Table TABLE
(
   /*TABLE DEFINITION*/
   id int,
   name varchar(max),
   address varchar(max)
)

INSERT INTO @Table 
EXEC Stored_Procedure_Name_1 @param1 , @param2 = 'Raju' ,@param3 =@param3

SELECT id ,name ,address  FROM @Table  
Run Code Online (Sandbox Code Playgroud)


Ed *_*d B 8

您只需调用Execute命令即可.

EXEC spDoSomthing @myDate
Run Code Online (Sandbox Code Playgroud)

编辑:

既然你想要返回数据......这有点困难.您可以使用用户定义的函数来返回数据.


小智 5

您可以在存储过程B中这样调用存储过程。

CREATE PROCEDURE spA
@myDate DATETIME
AS
    EXEC spB @myDate

RETURN 0
Run Code Online (Sandbox Code Playgroud)