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语句的。
---------------------
作者:drbing
来源:CSDN
原文:https://blog.csdn.net/drbing/article/details/51821262
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/sunice/p/10436725.html