相关文章推荐
坚强的山楂  ·  Notepad ...·  6 天前    · 
讲道义的米饭  ·  KeQueryActiveProcessor ...·  1 年前    · 

在多语句TVF Sql Server中使用多个IF ELSE

5 人不认可

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

CREATE FUNCTION Production.ms_tvf_ProductCostDifference
@ID INT ,
     RETURNS @retCostDifference TABLE
      ProductId INT ,
      CostDifference MONEY
    BEGIN
    With ABC as 
     ( Select ------
    if @ID ='1'
    //some code using ABC defined
    ELSe IF @ID=2
    //Somecode
    Return;

流程应该是怎样的?

3 个评论
我在IF和insert语句中得到一些sytax错误。
更新问题,不要在评论中添加重要信息
至于问题本身--只要检查一下语法。在谷歌上搜索 "T-SQL IF",在第一个结果中就能找到它。
sql-server
sql-server-2008
user-defined-functions
sql-function
user2490024
user2490024
发布于 2016-04-15
1 个回答
Juan Carlos Oropeza
Juan Carlos Oropeza
发布于 2016-04-15
已采纳
0 人赞同

IF 你不能在一个 WITH

相反,你需要像这样的东西

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