sqlplus編輯命令列用法

2021-07-24 05:33:09 字數 3898 閱讀 9897

sqlplus編輯命令列用法

set linedize 150  //每行顯示的字元

set time on    //在提示符前顯示系統時間

sql> set time on

12:25:08 sql>

set serveroutput on/off  //輸出顯示

set long 200   //每欄位顯示的字元長度,如某列的值顯示不完,調次值

col column_name format a10 //顯示列的寬度

set linedize 150  //每行顯示的字元

set time on    //在提示符前顯示系統時間

sql> set time on

12:25:08 sql>

set serveroutput on/off  //輸出顯示

set long 200   //每欄位顯示的字元長度,如某列的值顯示不完,調次值

col column_name format a10 //顯示列的寬度

col ename heading 雇員  //別名顯示

spool d:\temp\sqlout.txt //輸出為文件

spool off

sql> alter session set nls_language='american'; 改變session的語言顯示

sql> alter session set nls_language='simplified chinese';

sql> set timi on //顯示提示sql語句執行所花的時間

sqlplus 命令列用法

oracle資料庫有很多查詢工具,例如大名鼎鼎plsql,習慣了圖形介面之後,再來面對字元介面的sqlplus真是一種折磨,但不知那位仙人說過「存在就是合理」。

1、登陸資料庫

sqlplus 使用者名稱/密碼[@例項名]

例如:sqlplus

[email=test/test@orac]test/test@orac[/email]

注:1、例項名就是你的oracle_sid巨集的定義,注意密碼跟例項之間沒有空格

2、斷開資料庫連線

sql3、更改資料庫連線使用者

sql system/oracle@orac[/email]

4、設定行大小,頁大小

sqlsql

5、執行指令碼,「/」 「r」 「;」 皆可

sqlsql

6、列出上一指令碼,l

sql> l

1 select * from order

2* where num='8888'

1,2代表行號,帶*號代表當前行

7、切換行號,直接輸入數字行號即可

sql> 1

1* select * from order

8、刪除行,del n,n代表行號數字

sql> l

1 select * from order

2* where num='8888'

sql> del 2

sql> l

1* select * from order

9、增加行,i活動行後插入新行貼上,a當前行後貼上

sql> l

1* select * from order

sql> i where num='1021'

sql> l

1 select * from order

2* where num='1021'

sql> a 

tableb

1* select * from order tableb

*注意a後面要空至少兩個格,否則可能會出現operatortableb效果

10、修改內容 c\原內容\新內容

sql> c \tableb\tablea

1* select * from order tablea

總結下:

l --sql

n --切換活動行(n代表行數字)

a --活動行後增加

i --活動行後插入新行增加(imput)

c --替換(change)

del n --刪除行n

/ --執行sql

11、設定預設編輯器

sql> set _editor=vi

sql> ed

鍵入ed,則sqlplus自動切換到vi,在vi中修改sql,存檔,會自動重新讀入到sqlplus的緩衝區(類似sybase裡isql下直接鍵入vi)。

你還可以把編輯器設定存到配置檔案,每次自動使用該配置;

修改$oracle_home/sqlplus/admin/glogin.sql配置檔案,增加define _editor=vi即可,sqlplus啟動的時候會讀取glogin.sql指令碼。

在linux的sqlplus中,如果使用edit對當前指令碼進行編輯,則呼叫預設編輯器ed,如果想使用vi作為預設編輯器,則可以編輯檔案$oracle_home/sqlplus/admin/glogin.sql,新增如下行

define _editor = vi

重新啟動sqlplus後,執行edit命令時將會呼叫vi作為編輯器

在sqlplus啟動時,會首先執行$oracle_home/sqlplus/admin/glogin.sql,因此我們也可以在這個檔案中設定別的變數

首先,我們先來介紹一下scn(系統改變號),它的英文全拼為:system change number ,它是資料庫中非常重要的乙個資料結構。

scn提供了oracle的內部時鐘機制,可被看作邏輯時鐘,這對於恢復操作是至關重要的 .

注釋:oracle 僅根據 scn 執行恢復。

它定義了資料庫在某個確切時刻提交的版本。在事物提交時,它被賦予乙個唯一的標示事物的scn 。一些人認為 scn 是指, system commit number ,而通常 scn 在提交時才變化,所以很多情況下,

這兩個名詞經常被交替使用。

究竟是哪個詞其實對我們來說並不是最重要的,重要的是我們知道 scn 是 oracle 內部的時鐘機制, oracle 通過 scn 來維護資料庫的一致性,並通過scn 實施 oracle 至關重要的恢復機制。

下面我們來介紹一下獲得當前scn的幾種有效方式:

一.在oracle9i中,可以使用dbms_flashback.get_system_change_number來獲得

示例:sql> select dbms_flashback.get_system_change_number from dual;

get_system_change_number

2982184

二.在oracle9i之前你可以通過查詢x$ktuxe來獲得

x$ktuxe---[k]ernel [t]ransaction [u]ndo transa[x]tion [e]ntry (table)

sql> select max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;

max(ktuxescnw*power(2,32)+ktuxescnb)

2980613

windows下,命令列,sqlplus亂碼問題。

系統 windows 7 enterprise 64 bit english 本地裝oracle 10g,plsql developer cmd sqlplus 出現亂碼。解決 select from nls database parameters where parameter in nls la...

LINUX 命令列編輯

向 前 後 刪除ctrl d 刪除游標所在位置上的字元相當於vim裡x或者dl ctrl h 刪除游標所在位置前的字元相當於vim裡hx或者dh ctrl k 刪除游標後面所有字元相當於vim裡d shift ctrl u 刪除游標前面所有字元相當於vim裡d shift ctrl w 刪除游標前乙...

Linux shell 命令列編輯命令

linux shell 命令列編輯命令 表示ctrl 表示meta 可以用 alt替代 e 跳到行頭 e 跳到行尾 u 刪除游標到行尾的字元 k 刪除游標到行頭的字元 w 向前刪除乙個詞 y 貼上已刪除的東西 f 向前走乙個字元 b 向後走乙個字元 f 向前走乙個詞 b 向後走乙個詞 t 調整空格和...