執行指令碼的命令在上一節已經講過,不再重複。
sqlplus user/password@ip:port/servicename @/path/sqltest.sql;sqltest的內容及注釋:
--檢視儲存過程的幾個sql,注意有的顯示一行一行的,有的顯示名字,有的顯示內容:這個whenever表示出現錯誤之後,不再繼續執行,還會盡量回滾
whenever sqlerror exit sql.sqlcode rollback
--select 'ok' from duabbl;
--select 'ok' from duiaaal;
--輸出執行的語句
set echo on;--
將執行結果輸出到檔案
spool /tmp/
spool.txt;
select'ok
'from
dual;
--建立乙個空的無害的儲存過程
create
orreplace
procedure adisabledsp(timestamp
number
, tablename
varchar2) is
begin
iftimestamp
<
0then
--該條件永遠無法成立,且使用了輸入引數timestamp
dbms_output.put_line('
we are going to operate on table
'|| tablename); --
使用了輸入引數tablename
endif
; end;--
這個/在命令列中執行是必須的,表示執行,不然,只有換行
/select'ok
'from
dual;
select'ok
'from
dzual;
--dual資料庫常用於測試目的
select'ok
'from
dual;
spool
off;
--這個也必須,不然,指令碼執行完成之後,會hang在sqlplus命令列中,不退出
exit;
select name from user_source where type='procedure';
select text from all_source where name = 'pro_name';
select * from user_procedures;
最後乙個小技巧,為什麼在的指令碼裡,會出現乙個/右斜槓呢?????
一般在end;(注意有分號)後加反斜槓/,代表是要執行某個儲存過程,如果沒有反斜槓,則代表是普通換行。這種情況一般用於oracle中的命令視窗。
關於oracle的啟動
有這麼一道題,是關於在例項啟動的時候,哪些檔案在某個階段是不是可以改動的,我覺得這個題是乙個很基礎的題,對於理解oracle有很大的幫助。於是我就查了一下相關資料,分享一下,適合初學者看。1 shutdown nomount 讀取引數檔案,根據引數檔案的記錄,配置sga,啟動後台程序。這個階段因為只...
關於oracle的啟動
有這麼一道題,是關於在例項啟動的時候,哪些檔案在某個階段是不是可以改動的,我覺得這個題是乙個很基礎的題,對於理解oracle有很大的幫助。於是我就查了一下相關資料,分享一下,適合初學者看。1 shutdown nomount 讀取引數檔案,根據引數檔案的記錄,配置sga,啟動後台程序。這個階段因為只...
關於Oracle分頁
connected to oracle9i enterprise edition release 9.2.0.6.0 connected as dev sql sql set timing on sql create table test table as 2 select rownum x 3 f...