繁体   English   中英

SQL存储过程; 使用输入参数调用另一个存储的过程

[英]SQL stored procedure; using input parameter to call another stored proc

假设我们有一个看起来像这样的存储过程

CREATE PROCEDURE sp1(@sp1Param NVARCHAR(256))
AS
BEGIN
    EXEC sp2 @sp2Param = @sp1Param
END

这是使用sp1Param调用sp2的正确方法吗? 我需要知道的是这是否应该工作(这意味着我的问题在sp2内部)。

谢谢

是的。

USE tempdb
GO

CREATE PROCEDURE sp1(@param1 int) AS
BEGIN
    SELECT @param1 + 1
END
GO

EXEC sp1 2 -- should return 3
GO

CREATE PROCEDURE sp_wrap(@param2 int) AS
BEGIN
    EXEC sp1 @param1 = @param2
END
GO

EXEC sp_wrap 4 -- should return 5
GO

DROP PROCEDURE sp_wrap
DROP PROCEDURE sp1
GO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM