Comment déclarer et afficher une variable dans Oracle

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

Dans T-SQL, je ferais quelque chose comme ceci

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

Comment puis-je faire cela dans Oracle.

24
demandé sur John Doyle 2012-01-04 13:19:46

4 réponses

Si vous parlez de PL/SQL, vous devriez 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; 
38
répondu Sathya 2012-01-04 10:50:11

Si vous utilisez sqlplus vous pouvez définir une variable donc:

define <varname>=<varvalue>

Et vous pouvez afficher la valeur par:

define <varname>

Et ensuite l'utiliser dans une requête comme, par exemple:

select *
from tab1
where col1 = '&varname';
8
répondu John Doyle 2012-01-04 11:44:43

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

Définissez serveroutput sur -- pour récupérer et afficher un tampon

Déclarer

v_text VARCHAR2(10); -- declare

Début

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

Fin;

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

3
répondu Jahanzaib Mazhar 2015-10-19 21:25:12

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

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, j'en ai peur. Quand je l'ai couru dans Toad 11 Il est revenu comme ça

        n
---------
        1

J'espère que cela aide

1
répondu Matt 2012-03-15 22:13:07