本文主要是介绍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是提倡用变量的方式的,基于效率考虑。
这篇关于set feedback 和set define的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!