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

Amr*_*rhy 9 sql stored-procedures sql-server-2005

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

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

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

exec  LandData_Update @FirstName, @LastName
Run Code Online (Sandbox Code Playgroud)

但我认为这是错误的.

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

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

Jes*_*sen 15

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

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

    EXECUTE LandData_Update @FirstName, @LastName
END
Run Code Online (Sandbox Code Playgroud)

你有错误吗?

编辑: 变量名称是什么并不重要,但要做你想做的事,你可以声明两个新的变量.

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

SET @MyFirstName = @FirstName
SET @MyLastName  = @LastName
Run Code Online (Sandbox Code Playgroud)

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