オラクルで変数を宣言・表示する方法

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; 
解説 (3)

sqlplusを使っている場合は、このように変数を定義することができます。

define =

そして、その値を表示するには、次のようにします。

define 

そして、それを例えば次のようにクエリで使用します。

select *
from tab1
where col1 = '&varname';
解説 (1)

最近、MySQLから乗り換えて、Oracleのよりシンプルなコマンドと同等の論理的なコマンドを待ち望んでいるのでしょうか?私も同じような疑問を持っていました。このコードは、あなたが探しているものと思われる、簡単で汚いプリントを提供します。

Variable n number
begin
    :n := 1;
end;
print n

真ん中の部分はPL/SQLのビットで、変数をバインドします。 print nからの出力は列形式になっていて、残念ながらnの値だけではありません。 Toad 11で実行したところ、次のような結果が得られました。

        n
---------
        1

ご参考になれば幸いです。

解説 (0)