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

修改Oracle存儲過程所需代碼

編輯:Oracle數據庫基礎

我們都知道當我們在修改一個Oracle存儲過程時,我們的寫一個輸出的相關的字符串,即“Hello World!”,在Oracle存儲過程中,要用Notepad打開skeleton.sql 文件,. 用DBMS_OUTPUT.PUT_LINE 過程調用去替換NULL語句,如下所示:

Java代碼

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

保存到文件skeleton.sql.

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

Java代碼

  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> @skeleton  
  9. SQL> 
  10. CREATE OR REPLACE PROCEDURE skeleton  
  11. IS  
  12. BEGIN  
  13. DBMS_OUTPUT.PUT_LINE('Hello World!');  
  14. * END;  
  15. SQL> /   

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

SQL>

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

SQL> EXECUTE skeleton;

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

  1. PL/SQL procedure successfully completed.  

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

  1. SQL> SET SERVEROUTPUT ON  

再次執行你的Oracle存儲過程:

  1. SQL> EXECUTE skeleton;  

現在結果輸出了:Hello World!

  1. PL/SQL procedure successfully completed.  

調試一個存儲過程

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

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

修改一個Oracle存儲過程

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

Java代碼

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

保存到文件skeleton.sql.

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

Java代碼

  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> @skeleton  
  9. SQL> 
  10. CREATE OR REPLACE PROCEDURE skeleton  
  11. IS  
  12. BEGIN  
  13. DBMS_OUTPUT.PUT_LINE('Hello World!');  
  14. * END;  
  15. 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;  

現在結果輸出了:

  1. Hello World!   
  2. PL/SQL procedure successfully completed.   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved