oracle sqlplus 寫儲存過程

2021-06-17 01:08:52 字數 2771 閱讀 1119

1、寫乙個儲存過程:可以在notepad中進行

create or replace procedure skeleton

isbegin

null;

end;

把檔案存為skeleton.sql.

**********解釋一下**********=

2、建立乙個儲存過程

sql語句create or replace procedure在oracle資料庫中建立、編譯和儲存乙個儲存過程。

從window開啟sql*plus並且從sql*plus登入到你的資料庫;開啟skeleton.sql檔案.

在sql>命令提示符下輸入以下命令:

sql>@skeleton

sql>/

sql*plus裝載skeleton.sql檔案的內容到sql*plus緩衝區並且執行sql*plus語句;sql*plus 會通知你儲存過程已經被成功地建立。

現在你的儲存過程被建立,編譯和儲存在你的oracle資料庫,我們可以執行它。

3、執行儲存過程

從sql*plus 命令列提示符執行你的儲存過程使用execute命令,如下:

sql> execute skeleton;

sql*plus 輸出一下資訊確信儲存過程成功執行: pl/sql procedure successfully completed.

你也可以在乙個無名pl/sql塊內執行你的儲存過程,在sql*plus命令提示符下,它看起來像:

sql> begin

2 skeleton;

3 end;

4 /

4、修改儲存過程

讓我們寫乙個輸出字串「hello world!」的儲存過程,用notepad開啟你的skeleton.sql 檔案,. 用dbms_output.put_line 過程呼叫去替換null語句,如下所示:

create or replace procedure skeleton

isbegin

dbms_output.put_line(』hello world!』);

end;

儲存到檔案

skeleton.sql. 從

sql*plus

命令列, 

開啟檔案

skeleton.sql .

sql> @skeleton

sql>

1 create or replace procedure skeleton

2 is

3 begin

4 dbms_output.put_line(』hello world!』);

5* end;

sql> /

sql*plus 

通知你儲存過程成功建立並輸出提示資訊:

procedure created. 用

execute 

命令執行你的儲存過程

:sql> execute skeleton;

sql*plus

顯示儲存過程執行成功:

pl/sql procedure successfully completed.

我們想要的輸出字串

「hello world!」

沒有出來,在顯示乙個

dbms_output.put_line 

結果前需要執行乙個

set命令,在

sql*plus 

命令列提示符

,鍵入:

sql> set serveroutput on

再次執行你的儲存過程:

sql> execute skeleton;

現在結果輸出了:

hello world!

pl/sql procedure successfully completed.

5、除錯

當除錯乙個儲存過程時,遵循一樣的步驟,修改sql檔案,建立儲存過程,執行儲存過程,根據編譯器反饋的出錯資訊進行修改,這一步是非常繁瑣的,需要依靠經驗。

在實際的商用儲存過程的開發除錯過程中,由於涉及很多表、型別、游標、迴圈、條件等複雜的邏輯,和pl/sql語句的靈活運用,編譯時會產生很多錯誤提示資訊,程式設計師在根據這些錯誤資訊定位,進行修正,再編譯最後得到正確的結構;

6、刪除

如果在資料庫中你不在需要乙個儲存過程你可以刪除它,sql語句 drop procedure 完成從資料庫中刪除乙個儲存過程,drop procedure 在sql中被歸類為資料定義語言(ddl) 類操作,其他的例子有create, alter, rename 和truncate。.

在sql*plus 命令提示符下,使用drop procedure sql 語句刪除你的叫做skeleton的儲存過程:

sql> drop procedure skeleton;

sql*plus assures us the procedure has been removed:

procedure dropped. 總結

本文詳細討論了如何使用oracle工具開發oracle商用儲存過程的步驟。最後在儲存過程的使用中可能是程式直接呼叫,也可能被觸發器呼叫。

--------------------------------------

另外,據說儲存過程修改後,在很小的概率下,不會馬上被重新編譯,會在快取裡儲存過時的版本,所以最好是改完,強制編譯一下。

alter procedure procedure_name compile 編譯儲存過程

********************====

Oracle sqlplus 登入命令

1 執行sqlplus工具 c users wd pc sqlplus 2 直接進入sqlplus命令提示符 c users wd pc sqlplus nolog 3 以os身份連線 c users wd pc sqlplus as sysdba 或 sql connect as sysdba 4...

oraclesqlplus 執行計畫

一般通過很多任務具可以看pl sql的執行計畫來分析語句效能。這裡介紹通過pl sql檢視sql執行計畫的幾種方法 方法一.set autotrace on 然後當執行你的sql語句的時候,執行計畫自動顯示出來。不想看執行計畫了,set autotrace off 方法二.執行語句 explain ...

Oracle SQL Plus 簡單操作

conn 使用者名稱 密碼 as 連線身份 伺服器連線字串連線身份 表示該使用者連線後擁有的許可權 sysdba 資料庫管理員,許可權包括 開啟資料庫伺服器 關閉資料庫伺服器 備份資料庫 恢復資料庫 日誌歸檔 會話限制 管理功能 建立資料庫。sys 使用者必須用 sysdba 身份才能登入,syst...