web-dev-qa-db-fra.com

Comment déclarer et afficher une variable dans Oracle

Je voudrais déclarer et afficher une variable dans Oracle.

En T-SQL, je ferais quelque chose comme ça

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

Comment puis-je faire cela dans Oracle.

27
David

Si vous parlez de PL/SQL, vous devez le mettre dans un bloc anonyme.

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

Si vous utilisez sqlplus, vous pouvez définir une variable ainsi:

define <varname>=<varvalue>

Et vous pouvez afficher la valeur en:

define <varname>

Et puis utilisez-le dans une requête comme, par exemple:

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

Si vous utilisez pl/sql, le code suivant devrait fonctionner:

activer la sortie du serveur - pour récupérer et afficher un tampon

DECLARE

    v_text VARCHAR2(10); -- declare
BEGIN

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

/

- cela doit être utilisé pour exécuter le script pl/sql

3
Jahanzaib Mazhar

Avez-vous récemment quitté MySQL et aspirez maintenant aux équivalents logiques de ses commandes les plus simples dans Oracle? Parce que c'est le cas pour moi et j'avais la même question. Ce code vous donnera une impression rapide et sale qui, je pense, est ce que vous recherchez:

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

La section du milieu est un bit PL/SQL qui lie la variable. La sortie de print n est sous forme de colonne, et ne donnera pas seulement la valeur de n, je le crains. Quand je l'ai couru dans Toad 11, il est revenu comme ça

        n
---------
        1

J'espère que ça aide

0
Matt