La tua dichiarazione di variabile è corretta.
Il DECLARE
la parola chiave viene utilizzata per definire variabili con ambito in un blocco PL/SQL (il cui corpo è delimitato da BEGIN
e END;
). Come vuoi usare questa variabile?
Il seguente PL/SQL funziona bene per me:
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;
Puoi anche utilizzare DEFINE
istruzione per utilizzare semplici variabili di sostituzione di stringhe. Sono adatti per un client come SQL/PLUS o TOAD.
DEFINE start_date = "to_date('03/11/2011', 'dd/mm/yyyy')"
SELECT COUNT(*) from my_table tab where tab.some_date < &start_date;