java set define off_plsql 环境 定义一个 环境变量 define var=x var 定义变量

system@idmp-192.168.2.101> var cc number;

system@idmp-192.168.2.101>begin :cc:=9901; end;

2  /

PL/SQL 过程已成功完成。

已用时间:  00: 00: 00.06

system@idmp-192.168.2.101>var

变量   cc

数据类型   NUMBER

system@idmp-192.168.2.101> show cc

SP2-0158: 未知的 SHOW 选项 "cc"

system@idmp-192.168.2.101> print cc

CC

----------

9901

system@idmp-192.168.2.101>

plsql 环境 定义一个 环境变量 define  var=x

或者在脚本中用 &var sqlplus 会提示 输入变量值.

SQL> set define off;是把默认的&绑定变量的功能取消, 可以把'&字符'当成普通字符处理

SQL> set define on;        打开&绑定变量的功能, &后面的字符串当变量使用.

SQL> show define;

有点宏替代的味道

SQL> select to_char('&at')  from dual ;

输入 at 的值:  iuo223

原值    1: select to_char('&at')  from dual

新值    1: select to_char('iuo223')  from dual

TO_CHA

------

iuo223

SQL>

SQL> select &y from dual ;

输入 y 的值:  1

原值    1: select &y from dual

新值    1: select 1 from dual

1

----------

1

SQL>

请输入用户名:  idmp/idmp

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> select * from dual where 1 = &item

2  ;

输入 item 的值:  2

原值    1: select * from dual where 1 = &item

新值    1: select * from dual where 1 = 2

未选定行

Var 变量 类型

define用于char类型的替换变量,执行时有提示

variable可定义多种类型的变量,执行时无提示

variable定义的变量是绑定变量

SQL>var id

变量   id

数据类型   NUMBER

SQL> begin

2  :id:=0;

3  end;

4  /

PL/SQL 过程已成功完成。

SQL> print id

ID

----------

0

SQL> select :idfrom dual;

:ID

----------

0

SQL>   Select Created, Log_Mode, Log_Mode From V$Database;

CREATED        LOG_MODE     LOG_MODE

-------------- ------------ ------------

20-1月 -08     NOARCHIVELOG NOARCHIVELOG

SQL>

SQL> define a ="abc";

SQL> select &a from dual ;

原值    1: select &a from dual

新值    1: select abc from dual

select abc from dual

*

第 1 行出现错误:

ORA-00904: "ABC": 标识符无效

SQL> select &a as  a  from dual ;

原值    1: select &a as  a  from dual

新值    1: select abc as  a  from dual

select abc as  a  from dual

*

第 1 行出现错误:

ORA-00904: "ABC": 标识符无效

SQL> select to_char(&a)    from dual ;

原值    1: select to_char(&a)    from dual

新值    1: select to_char(abc)    from dual

select to_char(abc)    from dual

*

第 1 行出现错误:

ORA-00904: "ABC": 标识符无效

SQL> define ab ="1";

SQL> select to_char(&a)    from dual ;

原值    1: select to_char(&a)    from dual

新值    1: select to_char(abc)    from dual

select to_char(abc)    from dual

*

第 1 行出现错误:

ORA-00904: "ABC": 标识符无效

SQL>

原值    1: select to_char(&ab)    from dual

新值    1: select to_char(1)    from dual

T

-

1

SQL> define vs_str=a;

SQL> select vs_str from dual;

select vs_str from dual

*

第 1 行出现错误:

ORA-00904: "VS_STR": 标识符无效

SQL> select vs_str from dual;

select vs_str from dual

*

第 1 行出现错误:

ORA-00904: "VS_STR": 标识符无效

SQL> set VS_STR= null ;

SP2-0158: 未知的 SET 选项 "VS_STR="

SQL> set VS_STR=null ;

SP2-0735: 未知的 SET 选项开头 "VS_STR=nul..."

SQL> set VS_STR=null

SP2-0735: 未知的 SET 选项开头 "VS_STR=nul..."

SQL> set VS_STR= null

SP2-0158: 未知的 SET 选项 "VS_STR="

SQL> define VS_STR= null

SQL> select nvl(VS_STR,1) from dual ;

select nvl(VS_STR,1) from dual

*

第 1 行出现错误:

ORA-00904: "VS_STR": 标识符无效

SQL> select nvl(&VS_STR,1) from dual ;

原值    1: select nvl(&VS_STR,1) from dual

新值    1: select nvl(null,1) from dual

NVL(NULL,1)

-----------

1SQL> define VS_STR= 2

SQL> select nvl(&VS_STR,1) from dual ;

原值    1: select nvl(&VS_STR,1) from dual

新值    1: select nvl(2,1) from dual

NVL(2,1)

----------

2

SQL*PLUS环境“&”字符'的用法

在SQL*PLUS默认环境里会把'&字符'当成变量来处理.

有些时候我们也需要在SQL>的符号下输入'&字符', 只需要改变SQL*PLUS下一个环境变量define即可.

SQL> set define off;

是把默认的&绑定变量的功能取消, 可以把'&字符'当成普通字符处理

SQL> set define on;

打开&绑定变量的功能, &后面的字符串当变量使用.

SQL> show define;

查看当前SQL*PLUS的define状态

举例说明:        ---------------------------------------------------------------

SQL> CREATE TABLE TEST3 (

ID    NUMBER (2)    PRIMARY KEY,

NAME  VARCHAR2 (20));

SQL> show define;

define "&" (hex 26)

SQL> insert into test3 values(1,'sgs&a&n');

Enter value for a: abc

Enter value for n: 456        old   1: insert into test3 values(1,'sgs&a&n')

new   1: insert into test3 values(1,'sgsabc456')

1 row created.

SQL> set define off;

SQL> insert into test3 values(2,'sgs&a&n');

1 row created.

SQL> select * from test3;

ID NAME

-- --------------------

1 sgsabc456

2 sgs&a&n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值