2013-10-15 30 views
0

我有問題在Oracle中創建一個簡單的程序10g的PL/SQL:無法建立過程

所有我想要做的是這樣的過程:

create procedure greetings 
is 
begin 
dbms_output.put_line('Hello'); 
end; 

我鍵入此進提示:

@proc1.sql 

和我只有這個:

6 

並且我無法在沒有按Ctrl + C的情況下再次回到提示。我知道這是貧民窟,但我使用SSH,如果這有助於解決問題。

回答

3

在最後的end;之後,你自己需要一個/,這樣sqlplus纔會知道是時候執行了。 (sqlplus以某種方式不知道如何解析其現有唯一目的語言,因此它不知道您輸入的最後一個end;是終止create命令的語言。)

+3

關於您的括號註釋:sqlplus *不解析* PL/SQL - 它將它傳遞給數據庫進行解析和執行。例如,'end;'可能在PL/SQL塊或數據庫包中多次出現,但並不意味着編譯單元已完成。 –

+0

謝謝,修復它。但是,當我鍵入'exec greetings'時,它顯示的所有內容都是'PL/SQL過程已成功完成',沒有我想顯示的輸出。 @Wumpus Q. Wumbley – user2853262

+2

@ user2853262你需要'set serveroutput on'或者'dbms_output'只是無處可去。 –