我有這個程序轉換存儲過程,表值查詢
ALTER PROCEDURE [dbo].GetHerdByUserProc(@user int)
As
begin
Declare
@GroupId uniqueidentifier,
@UserTrade bit
Set @GroupId = (select tbUser.group_id from tbUser where Userid = @user)
Set @UserTrade = (select tbUser.isTrade from tbUser where Userid = @user)
if @GroupId IS NOT NULL and @UserTrade = '1'
Begin
select HerdId from tbUserHerds where tbUserHerds.UserId in (select Userid from tbUser where tbUser.Group_Id = @GroupId)
return;
END
If @GroupId IS NOT NULL
Begin
select HerdId from tbUserHerds where tbUserHerds.UserId = @user
return;
End
return;
End
它正確地返回一個列表,除了我還想運行,返回和列表上的查詢,據我所知,我不能寫一個查詢,如
Select * from GetHerdByUserProc 80
所以我正在尋找最好的方式將其轉換爲表值查詢。
我已經改變了ALTER說'Create Function x(@user int) Returns Table As'
但是,這並不縫工作,它開始向我大聲尖叫錯誤。
任何想法?數據庫服務器是MSSQL2008
*** *** SQL只是*結構化查詢語言* - 許多數據庫系統中使用的語言,但沒有AA數據庫產品......像這樣的東西是非常特定於供應商 - 所以我們真的需要知道你正在使用的數據庫系統**(以及哪個版本)。 –