当前位置: 首页 > 面试题库 >

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

宇文兴言
2023-03-14
问题内容

我有一个需要很多参数的插入存储过程-其中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吗?


问题答案:

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

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

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



 类似资料:
  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’

  • 问题内容: 我并不是说要进行“ SET NOCOUNT OFF”。但是我有一个存储过程,可用于将一些数据插入某些表中。此过程创建一个xml响应字符串,下面让我举一个例子: 因此,我整理了一个脚本,该脚本多次使用此SP,并且xml“输出”变得太多了(它已经使我的盒子崩溃了)。 有没有办法抑制或重定向由此存储过程生成的输出?我不认为修改此存储过程是一种选择。 谢谢。 我想我应该澄清一下。上面的SP被我

  • 我使用JDBC这样调用这个过程: 它向我抛出一个错误,通知调用格式错误。 但是如果我像这样直接在IDE中运行调用:

  • 从1.r.58开始, 支持出参, 之前的版本仅支持入参. 从实现方式上说, 是通过扩展自定义SQL的含义及上下文来实现 仅含义入参的存储过程 // 建表,删除老的存储过程. dao.create(Pet.class, true); dao.insert(Pet.create("wendal")); dao.execute(Sqls.create("DROP PRO

  • 我有一个名为的表和另一个的表。是表的副本。 现在,表可以随时删除并重新创建,添加新列并将旧列重命名为不同的列。我编写了一个存储过程,它将数据从表复制到表,这取决于是否需要插入或更新 现在我有点迷路了:如何解决这个问题,即一旦删除并重新创建了sales表,如何修改对saleshistory表的更改? 任何想法或相同的代码,如果需要,我可以在存储过程中共享我的代码,但这很简单 这是代码

  • 问题内容: 我有一个MYSQL存储过程SP1(),它返回一个结果集。 我想在SP2()内部调用SP1()并遍历SP1()的结果集以执行一些其他工作。 我不想从SP1()中包含我的逻辑,因为这会使SP2()过于复杂。 有什么建议么? 谢谢。 问题答案: 您想做的事情听起来并不是特别好,也许您应该考虑重新设计这两个过程。但是,您可以执行以下操作来快速解决此问题: 使您的sp2 sproc将其中间结果写