一个存储过程调用到另一个存诸过程(结合CURSOR) |
尚未結案
|
aKnightChen@Hotmail.com
一般會員 ![]() ![]() 發表:62 回覆:57 積分:23 註冊:2003-06-13 發送簡訊給我 |
过程一中,调用到过程二。 =================过程一===============
CREATE PROCEDURE b1
(
@b1 varchar(20)
)
AS
begin
execute a1 @b1 **这样写是可以实现,但无法对A1反回的数据集进行过滤处理
**DECLARE Temp_Cursor CURSOR LOCAL FOR exec ( a1 'a') **这样写是错的,但我想实现用CURSOR来接收返回值,可惜这样写出错,哪位大哥知道格式是怎样?恳请指点。
set
end
GO
============过程二==============
CREATE PROCEDURE a1
(
@a1 varchar(20)
)
AS
begin select item_code,name,des from un_item where item_code like '%' @a1 '%'
end
GO
|
aKnightChen@Hotmail.com
一般會員 ![]() ![]() 發表:62 回覆:57 積分:23 註冊:2003-06-13 發送簡訊給我 |
|
sos_admin
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO ALTER procedure GetTopUser @ID int, @Name char(10) output as begin set @Name=(Select UserName From MyUserInfo Where @ID) end; GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO /******************************************/ SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO ALTER procedure GetUserAge @ID int as begin declare @MyName char(10) exec GetTopUser @ID,@MyName output Select UserAge From MyUserInfo Where UserName=@MyName end GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO /*************执行*************/ exec GetUserAge 1 /***********表*************/ CREATE TABLE [dbo].[MyUserInfo] ( [UserName] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [UserID] [int] NULL , [UserAge] [smallint] NULL ) ON [PRIMARY] GO如上所示,可以实现存储过程中调用存储过程。 你可以参考一下,主要用OutPut参数传递. |
aKnightChen@Hotmail.com
一般會員 ![]() ![]() 發表:62 回覆:57 積分:23 註冊:2003-06-13 發送簡訊給我 |
|
sos_admin
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
我想如果是返回一个记录集合,为什么不将SQL语句直接放在这个存储过程中了?! 对于存储过程间最常用或者最合适的方式莫过于采用ouput参数传递了,你也可以传递一个CURSOR试验一下
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO ALTER procedure GetTopUser
@ID int,
@CS CURSOR VARYING output
as
begin
set @CS=CURSOR LOCAL SCROLL FOR
(Select UserName From MyUserInfo Where @ID)
end;
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO 风花雪月 e梦情缘
网络代号:wnhoo or sos_admin
网名:e梦缘
Mail:wnhoo@163.com
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |