set feedback 和set define

set feedback

set feedback有三种方式

set feedback on

set feedback off

set feedback n

set feedback on: 打开反馈
默认情况下,当一条 sql 语句执行的时候,oracle 会给一个反馈,比如:创建表的时候,如果成功,命令行会返回类似:‘Table created’ 的反馈,又比如执行一个 pl/sql 成功的时候,命令行会返回:‘PL/SQL procedure successfully completed’ 。

set feedback off: 关闭反馈
将反馈关闭,当载脚本中运行很多语句的时候,一般将 feedback 设为 off。

set feedback n: 设置反馈限制
当一条 sql 语句返回 n 或者大于 n 行记录的时候,就会有 feedback,比如:set feedback 10,当返回记录等于或多于 10 行的时候,会有类似 ‘10 rows selected’ 的反馈,如果返回行少于 10 则没有此反馈。

set define

有两种方式:
set define on   --关闭替代变量功能

set define off   --开启替代变量功能

set define $     --替代变量

作用就是关闭和开启替代变量

替代变量:

主要是 oracle 在解析sql语句的时候,会去库高速缓冲区,先找找之前有没有执行过的语句,如果有就直接替换一下变量的值就可以执行。

set define $

在SQL*Plus中默认的"&"表示替代变量,也就是说,只要在命令中出现该符号,SQL*Plus就会要你输入替代值。这就意味着你无法将一个含有该符号的字符串输入数据库或赋给变量,如字符串“SQL&Plus”系统会理解为以“SQL”打头的字符串,它会提示你输入替代变量Plus的值,如果你输入ABC,则最终字符串转化为“SQLABC”。 
  set define off 则关闭该功能,“&”将作为普通字符,如上例,最终字符就为“SQL&Plus” 

但是如果你把语句的条件写死,数据库每次都要重新编译一遍这个语句,执行效率就会很差,这种效率的差异不会在少数据量的时候体现,当你要执行的查询为百万级,或者你在游标中不断地循环的话,效率就体现出来了,oracle是提倡用变量的方式的,基于效率考虑。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle中的SET命令用于设置SQL*Plus环境变量和系统变量。以下是常用的SET命令及其详细解释: 1. SET AUTOCOMMIT ON/OFF:用于设置是否自动提交事务。当AUTOCOMMIT为ON时,每个SQL语句都会自动提交,而当AUTOCOMMIT为OFF时,需要手动提交。 2. SET DEFINE ON/OFF:用于设置是否开启变量替换。当DEFINE为ON时,SQL*Plus将会把变量替换为其值,而当DEFINE为OFF时,不会替换变量。 3. SET ECHO ON/OFF:用于设置是否显示SQL语句。当ECHO为ON时,SQL语句会显示在屏幕上,而当ECHO为OFF时,则不会显示。 4. SET FEEDBACK ON/OFF:用于设置是否显示操作结果。当FEEDBACK为ON时,SQL语句的操作结果会显示在屏幕上,而当FEEDBACK为OFF时,则不会显示。 5. SET HEADING ON/OFF:用于设置是否显示列标题。当HEADING为ON时,SQL语句的列标题会显示在屏幕上,而当HEADING为OFF时,则不会显示。 6. SET LINESIZE n:用于设置每行显示的字符数。n为一个整数,表示每行最多显示的字符数。 7. SET PAGESIZE n:用于设置每页显示的行数。n为一个整数,表示每页最多显示的行数。 8. SET SERVEROUTPUT ON/OFF:用于设置是否显示PL/SQL块的输出结果。当SERVEROUTPUT为ON时,PL/SQL块的输出结果会显示在屏幕上,而当SERVEROUTPUT为OFF时,则不会显示。 9. SET SQLPROMPT 'string':用于设置SQL*Plus的提示符。string为一个字符串,表示提示符的内容。 10. SET TERMOUT ON/OFF:用于设置是否输出结果到屏幕上。当TERMOUT为ON时,SQL语句的结果会输出到屏幕上,而当TERMOUT为OFF时,则不会输出结果。 以上是Oracle中常用的SET命令及其详细解释。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值