amin_alexi
یک شنبه 15 دی 1387, 09:37 صبح
سلام
من یک تابع به این صورت دارم
CREATE FUNCTION FN_MFD_SelectedAcc_Code (@UserCode nvarchar(50))
RETURNS TABLE AS
RETURN
(
Select Code
From Tbl1
Where Code=@UserCode
)
حالا می خوام یک متغییر Mod هم بزارم و با توجه به Mod دو خروجی متفاوت بگیرم
CREATE FUNCTION FN_MFD_SelectedAcc_Code (@UserCode nvarchar(50),@Mod tinyint)
RETURNS TABLE AS
RETURN
(
IF (@Mod = 1)
Begin
Select Code
From Tbl1
Where Code=@UserCode
End
IF (@Mod = 2)
Begin
Select Code
From Tbl2
Where Code=@UserCode
End
)
ولی Error میده !؟
Msg 156, Level 15, State 1, Procedure FN_MFD_SelectedAcc_Code, Line 5
Incorrect syntax near the keyword 'IF'.
Msg 102, Level 15, State 1, Procedure FN_MFD_SelectedAcc_Code, Line 17
Incorrect syntax near ')'.
نمی دونم باید به چه صورت تعریف کنم ! من می خوام با توجه به Mod از جداول متفاوتی Query بگیرم !
ممنون از دوستان
من یک تابع به این صورت دارم
CREATE FUNCTION FN_MFD_SelectedAcc_Code (@UserCode nvarchar(50))
RETURNS TABLE AS
RETURN
(
Select Code
From Tbl1
Where Code=@UserCode
)
حالا می خوام یک متغییر Mod هم بزارم و با توجه به Mod دو خروجی متفاوت بگیرم
CREATE FUNCTION FN_MFD_SelectedAcc_Code (@UserCode nvarchar(50),@Mod tinyint)
RETURNS TABLE AS
RETURN
(
IF (@Mod = 1)
Begin
Select Code
From Tbl1
Where Code=@UserCode
End
IF (@Mod = 2)
Begin
Select Code
From Tbl2
Where Code=@UserCode
End
)
ولی Error میده !؟
Msg 156, Level 15, State 1, Procedure FN_MFD_SelectedAcc_Code, Line 5
Incorrect syntax near the keyword 'IF'.
Msg 102, Level 15, State 1, Procedure FN_MFD_SelectedAcc_Code, Line 17
Incorrect syntax near ')'.
نمی دونم باید به چه صورت تعریف کنم ! من می خوام با توجه به Mod از جداول متفاوتی Query بگیرم !
ممنون از دوستان