转 SQL 基础--> NEW_VALUE 的使用
--===============================
-- SQL 基础--> NEW_VALUE 的使用
--===============================
通常的使用方法为:
column column_name new_value var_name
new_value是将所获得的列值赋予到变量名,然后该变量名可以参与后续处理
下面演示new_value的用法
usr1@ORCL> define length="15" --定义变量length
usr1@ORCL> set feedback off; --查询结束时,没有查询结果的记录数信息
usr1@ORCL> set verify off; --要求执行SQL语句前不显示使用的变量值
usr1@ORCL> create table tb1(old_col varchar2(&&length)); --创建表tb1,列的长度使用变量length定义
usr1@ORCL> create table tb2(new_col varchar2(&&length)); --创建表tb2,列的长度使用变量length定义
usr1@ORCL> insert into tb1 values('Robinson'); --为表tb1插入记录
usr1@ORCL> commit;
usr1@ORCL> col old_value new_value var_value; --定义列值保存到变量var_value
usr1@ORCL> select old_col from tb1; --查看表tb1的列old_col,此时old_col的值将被赋予给变量var_value
OLD_COL
---------------
Robinson
usr1@ORCL> insert into tb2 values('&var_value'); --此处可以使用变量var_value来赋值
usr1@ORCL> select new_col from tb2;
NEW_COL
---------------
Robinson
usr1@ORCL> drop table tb1;
usr1@ORCL> drop table tb2;
--下面是多行记录的处理,变量var_value使用最后获得的值作为变量值
usr1@ORCL> create table tb1(old_col varchar2(&&length));
usr1@ORCL> create table tb2(new_col varchar2(&&length));
usr1@ORCL> insert into tb values('Mark');
usr1@ORCL> insert into tb values('Martin');
usr1@ORCL> col old_value new_value var_value;
usr1@ORCL> select old_value from tb;
OLD_VALUE
---------------
Mark
Martin
usr1@ORCL> insert into tb2 values('&var_value');
usr1@ORCL> select * from tb2;
NEW_VALUE
---------------
Martin