程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle存儲過程的開發的介紹

Oracle存儲過程的開發的介紹

編輯:Oracle數據庫基礎

以下的文章主要是介紹開發Oracle存儲過程中的一些步驟的介紹,其中包括如何運行一個存儲過程 ,以及在運行一個存儲過程的相關代碼的介紹,以下是文章的具體介紹,望你浏覽完以下的內容會有所收獲。

運行一個存儲過程

從SQL*Plus 命令行提示符運行你的存儲過程使用EXECUTE命令,如下:

  1. SQL> EXECUTE skeleton; 

SQL*Plus 輸出一下信息確信存儲過程成功執行: PL/SQL procedure successfully completed.

你也可以在一個無名PL/SQL塊內運行你的存儲過程,在SQL*Plus命令提示符下,它看起來像:

  1. SQL> BEGIN  
  2. 2 SKELETON;  
  3. 3 END;  
  4. 4 /  

現在我們已經運行了我們的Oracle存儲過程,我們如何修改它呢?

修改一個存儲過程

讓我們寫一個輸出字符串“Hello World!”的存儲過程,用Notepad打開你的skeleton.sql 文件,. 用DBMS_OUTPUT.PUT_LINE 過程調用去替換NULL語句,如下所示:

  1. CREATE OR REPLACE PROCEDURE skeleton  
  2. IS  
  3. BEGIN  
  4. DBMS_OUTPUT.PUT_LINE('Hello World!');  
  5. END;  

保存到文件skeleton.sql.

從SQL*Plus命令行, 打開文件skeleton.sql .

  1. SQL> @skeleton  
  2. SQL> 
  3. CREATE OR REPLACE PROCEDURE skeleton  
  4. IS  
  5. BEGIN  
  6. DBMS_OUTPUT.PUT_LINE('Hello World!');  
  7. END;  
  8. SQL> /  

SQL*Plus 通知你存儲過程成功創建並輸出提示信息:Procedure created.

SQL>

用EXECUTE 命令運行你的存儲過程:

  1. SQL> EXECUTE skeleton; 

SQL*Plus顯示Oracle存儲過程運行成功:

  1. PL/SQL procedure successfully completed. 

我們想要的輸出字符串 "Hello World!"沒有出來,在顯示一個DBMS_OUTPUT.PUT_LINE 結果前需要運行一個SET命令,在SQL*Plus 命令行提示符,鍵入:

  1. SQL> SET SERVEROUTPUT ON 

再次執行你的存儲過程:

  1. SQL> EXECUTE skeleton; 

現在結果輸出了:Hello World!

SQL> EXECUTE skeleton;

  1. SQL> EXECUTE skeleton; 

調試一個存儲過程

當調試一個存儲過程時,遵循一樣的步驟,修改SQL文件,創建存儲過程,執行存儲過程,根據編譯器反饋的出錯信息進行修改,這一步是非常繁瑣的,需要依靠經驗。

在實際的商用存儲過程的開發調試過程中,由於涉及很多表、類型、光標、循環、條件等復雜的邏輯,和PL/SQL語句的靈活運用,編譯時會產生很多錯誤提示信息,程序員在根據這些錯誤信息定位,進行修正,再編譯最後得到正確的結構;

放棄一個存儲過程

如果在數據庫中你不在需要一個Oracle存儲過程你可以刪除它,SQL語句 DROP PROCEDURE 完成從數據庫中刪除一個存儲過程,DROP PROCEDURE 在SQL中被歸類為數據定義語言(DDL) 類操作,其他的例子有CREATE, ALTER, RENAME 和TRUNCATE。.

在SQL*Plus 命令提示符下,使用DROP PROCEDURE SQL 語句刪除你的叫做skeleton的存儲過程:

  1. SQL> DROP PROCEDURE skeleton;  
  2. SQL*Plus assures us the procedure has been removed:  
  3. Procedure dropped.  

總結

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved