我想在Oracle中聲明和顯示變量。如何在Oracle中聲明和顯示變量
在T-SQL我會做這樣的事情
DECLARE @A VARCHAR(10) --Declares @A
SELECT @A = '12' --Assigns @A
SELECT @A --Displays @A
我如何在Oracle中做到這一點。
我想在Oracle中聲明和顯示變量。如何在Oracle中聲明和顯示變量
在T-SQL我會做這樣的事情
DECLARE @A VARCHAR(10) --Declares @A
SELECT @A = '12' --Assigns @A
SELECT @A --Displays @A
我如何在Oracle中做到這一點。
如果你在談論PL/SQL,你應該把它放在一個匿名塊中。
DECLARE
v_text VARCHAR2(10); -- declare
BEGIN
v_text := 'Hello'; --assign
dbms_output.Put_line(v_text); --display
END;
如果用sqlplus可以定義這樣一個變量:
define <varname>=<varvalue>
而且可以通過顯示值:
define <varname>
,然後用它在查詢中,例如:
select *
from tab1
where col1 = '&varname';
'&varname'語法非常有用,謝謝 – Nacht 2016-05-11 23:00:21
你最近sw從MySQL癢癢,現在渴望在Oracle中更簡單的命令的邏輯等價物?因爲對我來說就是這樣,我也有同樣的問題。此代碼會給你一個快速和骯髒的打印我想這是你在找什麼:
Variable n number
begin
:n := 1;
end;
print n
中間部分是PL/SQL位結合的變量。來自print n的輸出是以列的形式出現的,恐怕不會給出n的值。當我在蟾蜍11運行它,它返回這樣
n
---------
1
我希望幫助
如果您正在使用PL/SQL,然後下面的代碼應該工作:
集SERVEROUTPUT上 - 檢索和顯示緩衝器
DECLARE
v_text VARCHAR2(10); -- declare
BEGIN
v_text := 'Hello'; --assign
dbms_output.Put_line(v_text); --display
END;
/- 這必須用於執行pl/sql腳本
對不起,以恢復舊帖子。這個沒有解決原始問題的部分 - 至少對我來說 - 是dbms_output.put_line在T-SQL中有效地執行了一個PRINT語句。 David發佈的內容以及我正在尋找的內容是最後的'SELECT'語句返回結果集 - 可以由客戶端應用程序使用。你知道如何做到這一點? 謝謝。 – InbetweenWeekends 2014-11-20 15:55:20
'dbms_output.Put_line(v_text);'在T-SQL中的作用與'PRINT @v_text;'相當......如果您記得在SQL開發人員中將您的Dbms輸出窗口連接到與您的查詢相同的Oracle連接! – 2015-04-14 13:11:28
如果您希望在腳本輸出面板中有您的Dbms輸出語句,這是一個快速簡單的教程。 http://www.thatjeffsmith.com/archive/2012/05/enabling-dbms_output-by-default-in-sql-developer/ – MPaul 2016-01-12 15:08:43