Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Einfache Oracle-Variablen-SQL-Zuweisung

Ihre Variablendeklaration ist korrekt.

Das DECLARE Das Schlüsselwort wird verwendet, um Variablen zu definieren, die in einem PL/SQL-Block liegen (dessen Körper durch BEGIN begrenzt ist und END; ). Wie möchten Sie diese Variable verwenden?

Das folgende PL/SQL funktioniert gut für mich:

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;

Sie können auch den DEFINE -Anweisung zur Verwendung einfacher String-Substitutionsvariablen. Sie eignen sich für Clients wie SQL/PLUS oder TOAD.

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