转 SQL 基础--> NEW_VALUE 的使用

时间:2023-03-08 16:33:42

--===============================

-- 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