一尘不染

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

sql

我有一个需要很多参数的插入存储过程-其中2个是@ FirstName,@ LastName。我还有一个更新存储过程,该过程需要许多参数-其中2个是@
FirstName,@ LastName。

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

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

exec  LandData_Update @FirstName, @LastName

但我认为这是错误的。

有人可以告诉我怎么写这个电话吗?

如果我将用不同的参数名称调用update sp?例如@ MyFirstName,@ MyLastName?我会这样写EXECUTE LandData_Update @MyFirstName=@FirstName, @MyLastName=@LastName吗?


阅读 215

收藏
2021-03-10

共1个答案

一尘不染

是什么让您认为这是错误的?

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

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

2021-03-10