Sql 关键字';如果';当在函数内部时,但不在函数中时没有错误
我在函数中遇到了一个语句的问题,但是,当我在函数中不使用它时,它工作得非常好,我不知道为什么…这是有问题的语句Sql 关键字';如果';当在函数内部时,但不在函数中时没有错误,sql,sql-server,sql-server-2008,sql-function,Sql,Sql Server,Sql Server 2008,Sql Function,我在函数中遇到了一个语句的问题,但是,当我在函数中不使用它时,它工作得非常好,我不知道为什么…这是有问题的语句 RETURNS TABLE AS RETURN if (@PreAQ = 0) begin select * from [MyTable] where ParentSysID = @ParentSysID and ( CodeID like 'AD -%' or CodeID like 'CP -%'
RETURNS TABLE
AS
RETURN
if (@PreAQ = 0)
begin
select * from [MyTable]
where ParentSysID = @ParentSysID
and (
CodeID like 'AD -%'
or CodeID like 'CP -%'
or CodeID like 'DB%'
or CodeID like 'MC%'
or CodeID like 'SD -%'
or CodeID like 'VA%'
or CodeID like 'WD -%'
)
end
我有多个if语句,与应用更多过滤器的语句相同
下面是全部错误
Msg 156,级别15,状态1,程序WT\U FN\U GET\U MyTable\U By\U ParentSysID,第11行
关键字“if”附近的语法不正确
我使用的是SQL Server 2008R2,函数中不能有流控制逻辑(
if
语句)。看看如何申报。@KenWhite,你说得对。我进行了编辑,以显示完整错误以及我使用的版本。行错误为“如果(@PreAQ=0)”