Oracle存储过程给变量赋值的方法

截止到目前我发现有三种方法可以在存储过程中给变量进行赋值:

1、直接法     :=    

   如:v_flag := 0;

2、select into

   如:假设变量名为v_flag,select count(*) into v_flag from students;

3、execute immediate 变量名(一般是sql的select语句) into 变量名

   如:

   v_sqlfalg   := 'select count(*) from user_tables where table_name='''||v_tablename || '''';
   execute immediate v_sqlfalg into v_flag;

   其中,v_tablename也是变量

当然2和3实质是一样的。只不过3中的select语句是根据变量生成的。

在存储过程中,是不能直接写select语句的。

你可能感兴趣的:(Oracle)