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;