如何将一个sp调用到另一个sp并使用它中的变量。 [英] how to call one sp into another sp and use variables from it.

查看:176
本文介绍了如何将一个sp调用到另一个sp并使用它中的变量。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI all,

我知道如何使用exec方法从另一个sp调用一个sp。现在我想使用由sp返回的变量。





假设我正在研究sp来插入数据但在此之前我想检查数据库中的某个标志,为此我调用其他sp。现在在插入过程中如何使用exec过程的值,我想获得由sp返回并设置为某个变量的值,以便我可以检查重复。





谢谢

解决方案

  SET   ANSI_NULLS   ON  
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo]。[validateQuery](
@ as_validationparam1 VARCHAR 20 ),
@ as_validationparam2 VARCHAR 20 ),
@ as_validationparam3 VARCHAR 20 ),
@ as_validatedResult varchar 100 )out

as
BEGIN
- -------- do验证内容

set @ as_validatedResult = 验证后的结果'
END


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo]。[callingQuery](
@ as_callingQueryparam1 VARCHAR 20 ),
@ as_callingQueryparam2 VARCHAR 20

as
DECLARE @ ds_result varchar 100
BEGIN

- ---------调用验证
EXEC validateQuery ' validationparam1Value'' validationparam2Value'' validationparam3Value' @ ds_result OUT
END


使用输出参数,这可以很容易地完成。

例如

  DECLARE   @count   INT  
EXEC GetCount ' abc' @ count 输出


HI all ,
i know how to call one sp from another one by using exec method. now i want to use variables that are return by that sp.


suppose i am working on sp to insert data but before that i want to check certain flag in the database, and for that i call other sp. now in insert procedure how to use values of exec procedure, i want to get value which is return by the sp and set to some variable so i can check for duplication.


Thanks

解决方案

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE  PROCEDURE   [dbo].[validateQuery](
   @as_validationparam1 VARCHAR(20),
   @as_validationparam2 VARCHAR(20),
   @as_validationparam3 VARCHAR(20),
   @as_validatedResult varchar(100) out
)
as
BEGIN
  ----------do validation stuff
   
   set @as_validatedResult  ='result after validation'
END


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE  PROCEDURE   [dbo].[callingQuery](
   @as_callingQueryparam1 VARCHAR(20),
   @as_callingQueryparam2 VARCHAR(20)
)
as
DECLARE @ds_result varchar(100)
BEGIN
  
   -----------call for validation
   EXEC	validateQuery 'validationparam1Value','validationparam2Value','validationparam3Value' , @ds_result OUT
END


Using an output parameter, this can be done quite easily.
E.g.

DECLARE @count INT
EXEC GetCount 'abc', @count OUTPUT


这篇关于如何将一个sp调用到另一个sp并使用它中的变量。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆