截止到目前我发现有三种方法能够在存储过程当中给变量进行赋值:sql
一、直接法 := spa
如:v_flag := 0;table
二、select into变量
如:假设变量名为v_flag,select count(*) into v_flag from students;select
三、execute immediate 变量名(通常是sql的select语句) into 变量名方法
如:im
v_sqlfalg := 'select count(*) from user_tables where table_name='''||v_tablename || '''';
execute immediate v_sqlfalg into v_flag;存储过程
其中,v_tablename也是变量tab
固然2和3实质是同样的。只不过3中的select语句是根据变量生成的。di
在存储过程当中,是不能直接写select语句的。