首页 新闻 会员 周边

sql 自定義函數+遊標的運用疑問

0
悬赏园豆:50 [待解决问题]


如題:
    我寫了個自定義函數,裡面有一個遊標,遊標部門單獨運行沒有問題,但是將遊標放在自定義函數中就有如下提示:
    Msg 170, Level 15, State 1, Procedure queryInfo, Line 6
    行 6: '72-B11IE01015BRI001' 附近的語法不正確。
    Msg 178, Level 15, State 1, Line 14
    此處不得使用會有傳回值的 RETURN 陳述式。

    自定義函數如果沒有將遊標部分放進去也可以執行,現將函數貼出如下:
    

create function queryInfo(@pId nvarchar(100))
RETURNS nvarchar(50) AS
begin
declare bomPn cursor
for select parent,pn from sz6_bom..bom
where parent='72-B11IE01015BRI001'
go
declare @parentId nvarchar(100)
declare @pnId nvarchar(100)
open bomPn
fetch next from bomPn into @parentId,@pnId
while @@fetch_status=0
begin
print @parentId
print @pnId
fetch next from bomPn into @parentId,@pnId
end
close bomPn
deallocate bomPn
return 'asdff'
end
go

 

 

     執行以下函數可以正確運行:
          

create function queryInfo(@pId nvarchar(100))
RETURNS nvarchar(50) AS
begin
return 'asdff'
end
go

 

 

     執行遊標也正常:
      

declare bomPn cursor
for select parent,pn from sz6_bom..bom
where parent='72-B11IE01015BRI001'
go
declare @parentId nvarchar(100)
declare @pnId nvarchar(100)
open bomPn
fetch next from bomPn into @parentId,@pnId
while @@fetch_status=0
begin
print @parentId
print @pnId
fetch next from bomPn into @parentId,@pnId
end
close bomPn
deallocate bomPn

 

 


     查了半天沒有發現哪裡出現問題,請各位幫忙檢查下!謝謝!!

奋斗中...的主页 奋斗中... | 初学一级 | 园豆:150
提问于:2010-09-23 09:09
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册