oracle sqlplus执行脚本_sqlplus使用经验谈

本文分享了Oracle SQLPlus的使用经验,包括变量的定义与使用,如&和&&的区别,如何关闭变量功能,以及如何从查询结果中获取变量。还介绍了运行脚本的不同方式,如@和@@的区别,以及如何通过环境变量调用脚本。此外,文章还探讨了SQLPlus的spool功能在大量数据导出时的优化技巧,如设置arraysize和关闭屏幕输出以提高效率。
摘要由CSDN通过智能技术生成

oracle英文单词意思是"神谕",据说当时取这个名字是希望oracle数据库能像神谕一样为他们指点迷津,快速找到所需要的信息。

sqlplus我们程序员"聆听神谕"的一个重要工具,掌握好这个工具对于提高我们工作效率有着重要的意义。

最近一段时间由于工作需要,经常使用sqlplus进行数据查询。我总结了一些经验,在此与大家分享:

一、 变量

很多人都知道可以在sqlplus中,可以使用define语句定义一个变量,然后使用&来引用它。关于定义变量,还有很多相关的知识点:

1 &和&&的区别

&与&&均可以定义变量, 但是&定义的变量是临时性的,每次遇到这个变量时,都会提示你输入一个值。 而&&定义的变量赋一次值后,再遇到此变量不会要求重新输入该变量的值。

sys@ORCL>select &var_tmp, &var_tmp, &&var, &&var from dual;

sys@ORCL>select &var_tmp, &var_tmp, &&var, &&var from dual;输入 var_tmp 的值: 1输入 var_tmp 的值: 1输入 var 的值: 2原值 1: select &var_tmp, &var_tmp, &&var, &&var from dual新值 1: select 1, 1, 2, 2 from dual  1 1 2 2---------- ---------- ---------- ---------- 1 1 2 2;

默认情况下sqlplus会显示替换前后的sql语句,但大多数情况下我们不需要看到这些,可以用set verify off来关闭这个显示

sys@ORCL>set verify offsys@ORCL>select &&var from dual;  2---------- 2

&&定义的变量有时候我们也需要重新修改,这个时候可以通过UNDEFINE

sys@ORCL>undefine varsys@ORCL>select &&var from dual;输入 var 的值: 1  1---------- 1

2 关闭变量

有时候我们需要往数据库插入含有'&'的数据,这个时候sqlplus的变量功能就会给我们造成麻烦了。这个时候我们可以选择使用set define来修改标识变量开始的前缀字符或关闭变量功能。

sys@ORCL>set define #sys@ORCL>select '&var_first', '#var_second' from dual;输入 var_second 的值: 1原值 1: select '&var_first', '#var_second' from dual新值 1: select '&var_first', '1' from dual '&VAR_FIRS '---------- -&var_first 1 sys@ORCL>set define offsys@ORCL>select '&var_first', '#var_second' from dual; '&VAR_FIRS '#VAR_SECON---------- -----------&var_first #var_second

但偶尔也有一行语句有的需要绑定变量,有的不需要的情况。这个时候我们可以通过转义字符来处理。

sys@ORCL>set escape sys@ORCL>select '&var', &var_tmp from dual;输入 var_tmp 的值: 2原值 1: select '&var', &var_tmp from dual新值 1: select '&var', 2 from dual '&VA 2---- ----------&var 2

3 关于变量赋值方法

我们平时比较常见的变量赋值方法是通过define语句给变量赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值