2014-05-08 114 views

回答

2
  1. 的Oracle變量不與@前綴像在SQL Server中。
  2. Oracle查詢必須FROM條款;有一個系統提供的虛擬表,名爲DUAL,用於此
  3. 在Oracle中,SQL代碼和過程代碼之間的界限比SQL Server要困難得多。

如果你想要做的是打印出一個變量的值,你需要做這樣的事情:

DECLARE 
    var_name NVARCHAR2(5) := 'Vinay'; 
BEGIN 
    -- Enable printing 
    DBMS_OUTPUT.ENABLE(); 
    -- Print the value 
    DBMS_OUTPUT.PUT_LINE(var_name); 
END; 
/

注意:如果你正在做這在SQL * Plus中,必須發出SET SERVEROUTPUT ON才能看到結果。

+0

+1爲完整答案評論 – SriniV

+0

我明白了。但是這會在消息窗口中顯示變量的值。我想看到網格形式的結果,就像我們在使用以下結果時得到的結果: 從雙重選擇'Vinay'; – vstandsforvinay

+0

在這種情況下,您可能需要包級變量;看到這個問題:http://stackoverflow.com/questions/301369/pl-sql-how-do-i-declare-session-variables –

1

我希望這應該工作

DECLARE 
    var_name varchar2(5) := 'Vinay' ; 

BEGIN 
    DBMS_OUTPUT.PUT_LINE(var_name); 
END; 
+0

沒有。我需要顯示數據而不使用任何表格。類似於 從雙重選擇'Vinay'; – vstandsforvinay

+0

我建議去肯恩的答案上面哪個更好。 – SriniV