代码之家  ›  专栏  ›  技术社区  ›  Lucy82

Oracle-如果变量为空

  •  0
  • Lucy82  · 技术社区  · 6 年前

    当我的变量与字符串匹配时,我需要返回一些伪select。这就是我所尝试的:

    begin
      if :someVar = 'Yes' then
      select 1 from dual;
    
      end if;
    end;
    /
    

    我试图为INTO子句声明一个变量,但总是收到错误“ PLS-00103:遇到符号“文件结束”时应满足以下条件之一。。 ".

    有人能告诉我应该改变什么来得到想要的选择吗?我是甲骨文的初学者,我需要这个用于SSRS报告,用于设置参数默认值(基于另一个参数- 在我的问题中)。

    3 回复  |  直到 6 年前
        1
  •  1
  •   hotfix Itesh Simlai    6 年前

    into :<variable>

    begin
      if :someVar = 'Yes' then
        select 1 into :var from dual;
    
      end if;
    end;
    /
    

    :var 你应该是SSR的变种人

        2
  •  0
  •   Barbaros Özhan    6 年前

    IF 语句,但使用 DECODE a中的语句 DUMMY SELECT 如下代码所示(第二个参数似乎是一个整数 0/1 ) :

    begin
      select decode(:someVar,'Yes',1,0) into :someVar2 from dual;
    end;
    /
    
        3
  •  0
  •   Littlefoot    6 年前

    为什么涉及 SELECT &安培; DUAL

    :someVar2 := case when :someVar = 'Yes' then 1
                      else 0
                 end;