Вашата декларация за променлива е правилна.
ДЕКЛАРИРАНЕ
ключовата дума се използва за дефиниране на променливи с обхват в PL/SQL блок (чието тяло е ограничено от BEGIN
и END;
). Как искате да използвате тази променлива?
Следният PL/SQL работи добре за мен:
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;
Можете също да използвате DEFINEкод>
израз за използване на прости променливи за заместване на низове. Те са подходящи за клиент като SQL/PLUS или TOAD.
DEFINE start_date = "to_date('03/11/2011', 'dd/mm/yyyy')"
SELECT COUNT(*) from my_table tab where tab.some_date < &start_date;