SQL*Plus菜鳥筆記之第六篇

lurou發表於2011-08-29

小布老師的sqlplus內容一共就八個部分,讓我都看完了,筆記記下來也不多啊。接下來再去學SQL的課程,接著做菜鳥筆記。


1、執行指令碼的方式
在你執行指令碼的時候,如果不輸入指令碼所在路徑,sqlplus會首先在當前路徑尋找,然後是SQLPATH,養成把指令碼放在SQLPLTH目錄下的好習慣,可以省略路徑,少敲很多字母,哈哈,又一個偷懶方法
@m.sql
@

2、spool命令
可以用於SQL命令輸出結果的儲存,一般可以儲存為指令碼或者文字;也可以用來對錶進行批次刪除或者建立等工作。
eg:
set pagesize 0
set feedback off
spool droptable.sql
select 'drop table'||object_name||';'from user_objects where object_type='TABLE';

得到的指令碼droptable.sql的內容大致就會是:
drop table A
drop table B
drop table C
drop table D
drop table E
....

3、替代變數
也叫使用者定義變數。eg: select * from m where id=&myid; 回車後螢幕就會提示你輸入myid的值然後得到查詢結果。

你可以在替代變數前面加上一個或兩個&,效果不一樣
在SQLPLUS和SQL語句中,你可以使用替代變數,當你使用一個未定義的替代變數時,SQLPLUS會提示你輸入對應值。

PS:今天在做實驗的時候,上面語句裡面用到的object_type='TABLE',我寫的小寫的table,結果查出來得結果居然一條都沒有,之前其實也瞭解這個情況,但是一直沒有太在意,哈哈,今天就丟人了,馬虎大意了,應該大寫的,還是google好用,找出原因來了,原來是由於user_objects表是系統表的原因,預設情況下,系統表的欄位名是嚴格區分大小寫的。關於oracle表內資料大小寫問題的深入研究,還是得做的,目前沒有這麼多時間,先標記一下,有時間再補

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26006637/viewspace-706154/,如需轉載,請註明出處,否則將追究法律責任。

相關文章