oracle課堂收錄-存儲過程

創建或重新定義存儲過程

SQL> create or replace procedure sample_proc is
  2  begin
  3     dbms_output.put_line('Hello WOrld');
  4  end sample_proc;
  5  /

過程已創建。

在匿名程序塊中調用剛創建的存儲過程,可以直接在BEGIN-END部分使用過程名調用存儲過程SAMPLE_PROC。

SQL> set serverout on
SQL> begin
  2  sample_proc;
  3  end;
  4  /
Hello WOrld

PL/SQL 過程已成功完成。

在SQL*PLUS中使用EXECUTE或者EXEC調用存儲過程

SQL> execute sample_proc;
Hello WOrld

PL/SQL 過程已成功完成。

SQL> exec sample_proc;
Hello WOrld

PL/SQL 過程已成功完成。

如果在創建的過程中出現了錯誤 可以使用 SHOW ERRORS命令顯示創建時產生的錯誤。

SQL> create or replace procedure sample_proc is
  2  begin
  3  dbms_output.put_line(hello world);
  4  end sample_proc;
  5  /

警告: 創建的過程帶有編譯錯誤。

SQL> show errors;
PROCEDURE SAMPLE_PROC 出現錯誤:

LINE/COL ERROR
-------- -----------------------------------------------------------------
3/28     PLS-00103: 出現符號 "WORLD"在需要下列之一時:
         . ( ) , * @ % & | = - + <
         / > at in is mod remainder not range rem => ..
         <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
         LIKE4_ LIKEC_ as between from using || multiset member
         SUBMULTISET_
         符號 "." 被替換爲 "WORLD" 後繼續。
產生該錯誤的原因是輸出語句中省略了表示字符的引號,是系統誤認爲該字符爲變量。















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章