Oracle的学习心得和知识总结(二)|Oracle数据库之sqlplus格式化输出
2023-09-14 09:15:35 时间
目录结构
![](https://img-blog.csdnimg.cn/20200813154411162.png#pic_center)
文章快速说明索引
学习目标:
目的:在sqlplus
执行一条sql语句的时候,经常碰到显示结果,跨行输出,致使可读性很差(看着就特别别扭)
学习内容:(详见目录)
1、通过set linesize
及column
命令进行调整
学习时间:
2020年12月05日 18:21:36
学习产出:
1、Oracle数据库 sqlplus格式化输出
2、CSDN 技术博客 1篇
实际步骤设置参数
第0步:复现问题
SQL> SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;
CURRENT_TIMESTAMP
---------------------------------------------------------------------------
LOCALTIMESTAMP
---------------------------------------------------------------------------
05-DEC-20 06.16.20.787044 PM +08:00
05-DEC-20 06.16.20.787044 PM
SQL>
第1步:显示并设置行长
SQL> show linesize
linesize 120
SQL> set linesize 300
SQL> SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;
CURRENT_TIMESTAMP LOCALTIMESTAMP
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
05-DEC-20 06.27.25.163873 PM +08:00 05-DEC-20 06.27.25.163873 PM
SQL>
第2步:缩短列长度
SQL> column CURRENT_TIMESTAMP format a50
SQL> column LOCALTIMESTAMP format a40
SQL> SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;
CURRENT_TIMESTAMP LOCALTIMESTAMP
-------------------------------------------------- ----------------------------------------
05-DEC-20 06.30.16.795981 PM +08:00 05-DEC-20 06.30.16.795981 PM
SQL>
第3步:永久生效 缩短列长度
注:在第二步中 虽然列的展示出现在了一行,但是当我们重新建立连接 就会发现如下情形:
SQL> conn /as sysdba
Connected.
SQL> SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;
CURRENT_TIMESTAMP
---------------------------------------------------------------------------
LOCALTIMESTAMP
---------------------------------------------------------------------------
06-DEC-20 09.31.15.283894 AM +08:00
06-DEC-20 09.31.15.283894 AM
SQL>
那我们该怎么做才可以永久生效呢?
(这只是提供一种方法,小伙伴们自行将自己常用的字段的长度格式 添加到这个文件里面)
vim $ORACLE_HOME/sqlplus/admin/glogin.sql
我们将上面的两个控制列长度的column命令添加到文件里面,重启 下面就是永久的效果:
SQL> conn /as sysdba
Connected.
SQL> SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;
CURRENT_TIMESTAMP LOCALTIMESTAMP
-------------------------------------------------- ----------------------------------------
06-DEC-20 09.47.11.599160 AM +08:00 06-DEC-20 09.47.11.599160 AM
SQL>
下面是glogin.sql
文件的内容,有需要的小伙伴自行使用:
--
-- Copyright (c) 1988, 2005, Oracle. All Rights Reserved.
--
-- NAME
-- glogin.sql
--
-- DESCRIPTION
-- SQL*Plus global login "site profile" file
--
-- Add any SQL*Plus commands here that are to be executed when a
-- user starts SQL*Plus, or uses the SQL*Plus CONNECT command.
--
-- USAGE
-- This script is automatically run
--
set line 120
col parameter for a30
col value for a40
col property_name for a25
col property_value for a30
col description for a30
col ename for a15
col job for a12
col table_name for a15
col username for a15
col account_status for a20
col dname for a20
col loc for a20
col owner for a15
col column_name for a20
col constraint_name for a25
col constraint_type for a25
col index_name for a20
col index_type for a20
col TABLESPACE_NAME for a25
col OBJECT_NAME for a20
col ROLE for a30
col GRANTED_ROLE for a30
col view_name for a20
col text for a30
col sequence_name for a25
col privilege for a20
col grantor for a12
col oracle_username for a25
col os_user_name for a25
column CURRENT_TIMESTAMP format a50
column LOCALTIMESTAMP format a40
相关文章
- 精心设计:Oracle授权角色管理(oracle授权角色)
- 优化Oracle数据库内存优化指南(oracle内存)
- Oracle 数据库字段类型及其应用(oracle的字段类型)
- Oracle指定表备份:一种快速安全的方法(oracle备份指定表)
- 操作掌握Oracle数据库中的时间操作法则(oracle数据库中时间)
- Oracle数据库之旅!(oraclefor)
- 成功恢复至Oracle数据库的备份数据导入过程(oracle导入备份数据)
- 追踪Oracle数据库的历史SQL(oracle历史sql)
- Oracle数据库中的算术函数(oracle的算术函数)
- 探索Oracle触发器的分类及功能(oracle触发器类型)
- 灵活应用Oracle数据库触发器类型(oracle触发器类型)
- Oracle数据库中不同类型的触发器使用(oracle触发器类型)
- 查看Oracle数据库表的全部信息(oracle表的显示)
- 掌握Oracle字段属性 实现快速数据库操作(oracle字段属性)
- 百分比Oracle数据库表碎片百分比的检查(oracle查看表的碎片)
- Oracle数据库冷备份保护目录的最佳实践(oracle冷备份的目录)
- Oracle数据库中的部门表结构及其操作(oracle中部门表)
- Oracle 检索探索新的知识之旅(oracle 什么是检索)
- 分析Oracle数据库中时间戳相减(oracle中时间戳相减)
- Oracle数据库中文版本构建商业数据库信息体系(oracle中文版本)
- 以 Oracle 严琳技术提升企业数据库性能(oracle 严琳)
- 调整Oracle事务锁,缓解性能瓶颈(oracle tx锁过多)