选择进入变量并将其用于IF(oracle)

时间:2018-03-28 12:55:17

标签: sql oracle oracle12c insert-into select-into

我有一个程序,我想从Col1:

向变量插入值
Procedure insertX
IS
 var1 varchar2(100) := '';
 check_s1 : = 'select Col1 into '||var1||' from table1';    
begin
 EXECUTE IMMEDIATE check_s1;

  if var1 is null then
   ...
   else
   ...
  end if;    
end;

但是当我执行它时出错了。

正如我看到select into有错误。

如何将值插入我的Var1,然后在IF条件下使用它?

1 个答案:

答案 0 :(得分:1)

语法错误。应该是

SQL> set serveroutput on
SQL> declare
  2    var1 varchar2(100);
  3    check_s1 varchar2(100) := 'select dummy from dual';
  4  begin
  5    execute immediate check_s1 into var1;
  6
  7    if var1 is null then
  8       dbms_output.put_line('var1 is null');
  9    else
 10       dbms_output.put_line('var1 = ' || var1);
 11    end if;
 12  end;
 13  /
var1 = X

PL/SQL procedure successfully completed.

SQL>