私はこの手順を持っています
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
したがって、これをテーブル値クエリに変換する最良の方法を探しています。
アルターを言うように変更しました'Create Function x(@user int) Returns Table As'
しかし、それは私にエラーを叫び始めます。
何か案は?データベース サーバーは MSSQL2008 です