如何将一个sp调用到另一个sp并使用它中的变量。 [英] how to call one sp into another sp and use variables from it.
本文介绍了如何将一个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屋!
查看全文