sqlplus 命令列格式(set,col等)
SQL*PLUS(或 稱sqlplus)裡除了我們經常使用的sql語句外,還有另外一些命令,它們通過對標題、列標題、頁寬、頁長以及時間等引數的格式化操作來控制sql語 句的輸出的內容和格式,常見的比如"set timing on”,"set heading off”等。
基本的SqlPlus命令
命令 | 說明 |
remark | 註釋 |
set headsep | 標題換行 |
ttitle | 設定輸出頁的頭標題 |
btitle | 設定輸出頁的尾標題 |
column | 對sql語句中的列進行格式化處理 |
break on | 通知sqlplus在輸出結果中插入空格 |
compute sum | 通知sqlplus計算小計 |
set linesize(line) | 設定sqlplus輸出的最大行寬 -- |
set pagesize | 設定頁面的最大行數 |
set newpage | 設定頁面之間的空行數 |
spool | sqlplus螢幕的檔案輸入輸出命令 |
註釋,同remark | |
-- | 雙槓,註釋,同remark |
set pause | sqlplus螢幕輸出結果時在頁面之間停頓 |
save | 儲存當前session最近的sql語句至指定的檔案中 |
host | 返回到作業系統環境,類似! |
edit | 使用自定義的編輯器編輯指定檔案 |
define_editor | 自定義sqlplus裡的編輯器 |
exit或quit | 退出sqlplus |
column
column是sqlplus裡最實用的一個命令,很多時候sql語句輸出的列寬度不合適而影響檢視,都需要用到這個命令來更改select語句中指定列的寬度和標題。大部分時候,我們可以簡寫column為col即可,主要有以下兩種用法:
- 修改列寬度
column c1 format a20 --將列c1(字元型)顯示最大寬度調整為20個字元
column c1 format 9999999 --將列c1(num型)顯示最大寬度調整為7個字元- 修改列標題
column c1 heading c2 --將c1的列名輸出為c2示例如下:
未修改前的預設設定輸出: SQL> select a.FILE_NAME,a.TABLESPACE_NAME,b.CURRENT_SCN from DBA_DATA_FILES a ,v$database b where a.TABLESPACE_NAME='USERS'; FILE_NAME --------------------------------------------------------------------------- TABLESPACE_NAME CURRENT_SCN ------------------------------ ----------- +DATAGRP/db/datafile/users.259.686941969 USERS 7.3498E+10 修改後的輸出結果: SQL> col FILE_NAME for a45 --定義FILE_NAME列最大顯示45個字元 SQL> col TABLESPACE_NAME for a10 --定義該列最大顯示10個字元 SQL> col CURRENT_SCN for 999999999999 --定義該列最長顯示12個數字 SQL> col TABLESPACE_NAME heading 'TBS_NAME' --定義該列輸出標題為"TBS_NAME” SQL> / FILE_NAME TBS_NAME CURRENT_SCN --------------------------------------------- ---------- ------------- +DATAGRP/db/datafile/users.259.686941969 USERS 73497663251 SQL> |
SQL> show sga
Total System Global Area 4198564584
bytes
Fixed
Size
746216
bytes
Variable
Size
2013265920
bytes
Database
Buffers
2181038080
bytes
Redo Buffers 3514368
bytes
SQL> set line 100
SQL> show sga
Total System Global Area 4198564584 bytes
Fixed
Size
746216
bytes
Variable
Size
2013265920 bytes
Database
Buffers
2181038080 bytes
Redo
Buffers
3514368
bytes
SQL>
這樣結果顯示就不會換行了。