如何从另一个存储过程调用存储过程?

时间:2009-07-26 11:25:23

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

我有一个插入存储过程,它带有许多参数 - 其中2个是@FirstName,@ LastName。 我还有一个更新存储过程,它带有许多参数 - 其中2个是@FirstName,@ LastName。

我想要做的是,从插入SP内部完成后,调用更新SP并向其发送@FirstName,@ LastName。

我不知道这样做的正确语法;我试过了:

exec  LandData_Update @FirstName, @LastName

但我认为这是错误的。

有人可以告诉我如何写这个电话吗?

如果我用不同的param名称调用更新sp?比如@MyFirstName,@ MyLastName?我会这样写:EXECUTE LandData_Update @MyFirstName=@FirstName, @MyLastName=@LastName

1 个答案:

答案 0 :(得分:15)

是什么让你认为这是错的?

CREATE PROCEDURE MyInsertSP
    @FirstName varchar(255),
    @LastName  varchar(255)
AS
BEGIN
    INSERT INTO Table VALUES('Some Value')

    EXECUTE LandData_Update @FirstName, @LastName
END

你得到错误或其他什么吗?

修改 变量的名称无关紧要,但要做你想做的事,你可以声明两个新的变量。

DECLARE @MyFirstName varchar(255)
DECLARE @MyLastName  varchar(255)

SET @MyFirstName = @FirstName
SET @MyLastName  = @LastName

然后使用新变量。但同样,存储过程并不关心变量的调用。