Oracle
 sql >> Base de données >  >> RDS >> Oracle

Affectation SQL simple des variables Oracle

Votre déclaration de variable est correcte.

Le DECLARE mot-clé est utilisé pour définir des variables portées dans un bloc PL/SQL (dont le corps est délimité par BEGIN et END; ). Comment voulez-vous utiliser cette variable ?

Le PL/SQL suivant fonctionne bien pour moi :

DECLARE 
    startDate DATE := to_date('03/11/2011', 'dd/mm/yyyy');
    reccount INTEGER;
BEGIN
    SELECT count(*) INTO reccount 
        FROM my_table tab 
        WHERE tab.somedate < startDate;
    dbms_output.put_line(reccount);
END;

Vous pouvez également utiliser le DEFINE instruction pour utiliser des variables de substitution de chaînes simples. Ils conviennent à un client comme SQL/PLUS ou TOAD.

DEFINE start_date = "to_date('03/11/2011', 'dd/mm/yyyy')"
SELECT COUNT(*) from my_table tab where tab.some_date < &start_date;