在传递值

时间:2015-06-11 21:40:54

标签: sql sql-server sql-server-2008 stored-procedures

我需要从另一个存储过程调用存储过程。 被调用的存储过程(sp_called)接受一些输入参数,比如@x(int),@ y(int)。

现在当我从(sp_caller)调用sp_called时,如何从sp_called动态获取参数值(x,y),而不必设置默认值,如下所示(1,2)

ALTER PROCEDURE [dbo].[spCaller]
    @sp varchar(1000)   

AS
BEGIN   

declare @select varchar(max)    

create table #temp_tbl 
(
    Id int(5), Name char(50), Address char(50)
)

select [Id],[Name],[Address] into #temp_table   
from openrowset('SQLNCLI', 'Server=myserver;Trusted_Connection=yes;','exec [spGet_Called]' 1,2')


set @select = 'select * from #temp_table' 
    //do other stuffs here

exec(@select)   

END

感谢

1 个答案:

答案 0 :(得分:0)

为什么不用一些默认参数值定义被调用的存储过程并调用此存储过程而不指定参数?