【问题标题】:Using multiple IF ELSE in A multi-statement TVF Sql Server在多语句 TVF Sql Server 中使用多个 IF ELSE
【发布时间】:2016-08-07 15:11:58
【问题描述】:

如何在多语句 TVF 中使用 IF ELSE 语句?我的 Cide 是这样的

CREATE FUNCTION Production.ms_tvf_ProductCostDifference
(
@ID INT ,

)
     RETURNS @retCostDifference TABLE
     (
      ProductId INT ,
      CostDifference MONEY
    )
    AS
    BEGIN

    With ABC as 
     ( Select ------
     )
    if @ID ='1'
    //some code using ABC defined
    ELSe IF @ID=2
    //Somecode
    Return;
    END

流程应该如何?

【问题讨论】:

  • 我在 IF 和 insert 语句中遇到一些语法错误
  • 更新问题,不要在cmets中添加重要信息
  • 至于问题本身 - 只需检查语法即可。谷歌搜索“T-SQL IF”会在第一个结果中返回它

标签: sql-server sql-server-2008 user-defined-functions sql-function


【解决方案1】:

您不能在WITH 中使用IF

你需要这样的东西

  if @ID ='1'
    With ABC as 
         ( Select ------
         )
        //some code using ABC defined
  ELSE IF @ID=2
      With ABC as 
         ( Select ------
         )
      //Somecode
  Return;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    相关资源
    最近更新 更多