web-dev-qa-db-ja.com

Oracleで変数を宣言および表示する方法

Oracleで変数を宣言して表示したいと思います。

T-SQLでは、このようなことをします

DECLARE @A VARCHAR(10) --Declares @A
SELECT @A = '12' --Assigns @A
SELECT @A --Displays @A

Oracleでこれを行うにはどうすればよいですか。

27
David

PL/SQLについて話している場合は、匿名ブロックに入れてください。

DECLARE
    v_text VARCHAR2(10); -- declare
BEGIN
    v_text := 'Hello';  --assign
    dbms_output.Put_line(v_text); --display
END; 
39
Sathyajith Bhat

Sqlplusを使用する場合、次のように変数を定義できます。

define <varname>=<varvalue>

また、次の方法で値を表示できます。

define <varname>

そして、次のようにクエリで使用します:

select *
from tab1
where col1 = '&varname';
8
John Doyle

Pl/sqlを使用している場合、次のコードが機能します。

サーバー出力をオンに設定-バッファーを取得して表示する

DECLARE

    v_text VARCHAR2(10); -- declare
BEGIN

    v_text := 'Hello';  --assign
    dbms_output.Put_line(v_text); --display
END; 

/

-これはpl/sqlスクリプトの実行に使用する必要があります

3

最近、MySQLから切り替えて、Oracleでのより単純なコマンドの論理的な同等物を切望していますか?それは私にとってそうであり、私もまったく同じ質問をしたからです。このコードは、あなたが探しているものだと思う迅速で汚い印刷を提供します:

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

中央のセクションは、変数をバインドするPL/SQLビットです。 print nからの出力は列形式であり、nの値を与えるだけではありません。 Toad 11で実行すると、次のように返されました。

        n
---------
        1

それがお役に立てば幸いです

0
Matt