Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何从另一个存储过程调用存储过程?_Sql_Sql Server 2005_Stored Procedures - Fatal编程技术网

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

Sql 如何从另一个存储过程调用存储过程?,sql,sql-server-2005,stored-procedures,Sql,Sql Server 2005,Stored Procedures,我有一个insert存储过程,它接受许多参数,其中两个是@FirstName、@LastName。 我还有一个更新存储过程,它接受许多参数,其中两个是@FirstName、@LastName 我要做的是,在插入SP内部,完成后,调用更新SP并向其发送@FirstName、@LastName 我不知道这样做的正确语法;我试过: exec LandData_Update @FirstName, @LastName 但我认为这是错误的 有人能告诉我怎么写这个电话吗 如果我用不同的参数名调用更新sp

我有一个insert存储过程,它接受许多参数,其中两个是@FirstName、@LastName。 我还有一个更新存储过程,它接受许多参数,其中两个是@FirstName、@LastName

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

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

exec  LandData_Update @FirstName, @LastName
但我认为这是错误的

有人能告诉我怎么写这个电话吗


如果我用不同的参数名调用更新sp?比如@MyFirstName、@MyLastName?我会这样写:
执行LandData\u Update@MyFirstName=@FirstName,@MyLastName=@LastName

什么让你认为它错了

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

然后使用新的变量。但是,存储过程也不关心变量的调用。

我是否会使用不同的参数名调用更新sp?比如@MyFirstName、@MyLastName?将这样编写:执行LandData_Update@MyFirstName=@FirstName,@MyLastName=@LastName??是的,应该可以