请教sqlplus的格式化输出

 我来答
一诺千金丨
2015-05-24 · 知道合伙人数码行家
一诺千金丨
知道合伙人数码行家
采纳数:8766 获赞数:32844
1、专业生产电力检测设备,若要咨询相关直接向我咨询关于电力检测设备的问题吧。 2、武高电测最佳员工。

向TA提问 私信TA
展开全部
 配置环境脚本
**********************************
cd $ORACLE_HOME/sqlplus/admin
vi glogin.sql

define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 1000
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr( global_name, 1, decode( dot, 0, length(global_name), dot-1) ) global_name
from (select global_name, instr(global_name,'.') dot from global_name );
set sqlprompt '&gname> '
set termout on

下面对这些脚本做些说明:
define _editor=vi:设置sql*plus使用的默认编辑器。可以把默认编辑器设置为你最喜欢的文本编辑(而不是字处理器),如记事本(Notepad)或emacs。
set serveroutput on size 1000000:这会默认地打开dbms_output(这样就不必每次再键入这个命令了)。另外也将默认缓冲区大小设置得尽可能大。
set trimspool on:假脱机输出文本时,会去除文本行两端的空格,而且行宽不定。如果设置为OFF(默认设置),假脱机输出的文本行宽度则等于所设置的LINESIZE。
set long 5000:设置选对LONG或CLOB列时显示的默认字节数
linesize 1000:设置sql*plus显示的文本宽为1000字符。
set pagesize 9999:pagesize可以控制sql*plus多久打印一次标题,这里将pagesize设置为一个很大的数(所以每页只有一组标题)。
column plan_plus_exp format a80:设置由autotrace得出的解释计划输出(explain plan output)的默认宽度。A80通常足以放下整个计划。
set termout on/off:是控制@方式执行之返回的
define gname=idle:定义一个变量gname,值为idle。
column global_name new_value gname:告诉sql*plus取得global_name列中的最后一个值,并将这个值赋给替换变量gname。
select lower(user) || '@' || substr( global_name, 1, decode( dot, 0, length(global_name), dot-1) ) global_name
from (select global_name, instr(global_name,'.') dot from global_name ); 取得global_name的值
set sqlprompt '&gname> ' :通常用来设置SQL提示符的方法
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式