2013-05-05 132 views
0

我有相當簡單的代碼在Oracle Virtualbox中運行。但由於某些原因,它不顯示pl/sql輸出。PL SQL輸出沒有顯示

這裏是代碼片段

SQL> set serveroutput on 
SQL> list 
    1 Create or Replace procedure mytz 
    2  IS 
    3  v_mytz TIMESTAMP WITH TIME ZONE DEFAULT '2013-05-05 12:00:00 AM'; 
    4  BEGIN 
    5  DBMS_OUTPUT.PUT_LINE ('Default timestamp is '); 
    6*  end mytz ; 
SQL>/

    Procedure created. 

SQL> 

,請問有什麼需要做特殊的看到SQL提示輸出?

回答

1

你有實際運行過程中,不只是創建它,例如:

set serverputput on 
exec mytz; 

set serveroutput SQL * Plus命令必須是在執行過程中的會議,而不是在那裏創建了一個(如果它們不同)。

您目前沒有顯示變量的值;也許你想要這個?

dbms_output.put_line('Default timestamp is: ' || v_mytz); 
+0

謝謝。就是這樣。 ps:我故意沒有添加v_mytz。 現在我正在從這個和其他procs獲得輸出。 – Vishal 2013-05-06 03:28:15

+0

@Vishal - 我也應該指出,您正在爲轉換使用隱式格式模型。您應該使用'to_timestamp'作爲分配,並使用'to_char'來顯示,使用明確的[格式模型](http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements004.htm#i34924) ;否則它的行爲將會有所不同,並可能在使用不同NLS設置的會話中出現錯誤。 – 2013-05-06 07:12:10