Deklarasi variabel Anda benar.
DECLARE
kata kunci digunakan untuk mendefinisikan variabel yang dicakup dalam blok PL/SQL (yang tubuhnya dibatasi oleh BEGIN
dan END;
). Bagaimana Anda ingin menggunakan variabel ini?
PL/SQL berikut berfungsi dengan baik untuk saya:
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;
Anda juga dapat menggunakan DEFINE
pernyataan untuk menggunakan variabel substitusi string sederhana. Mereka cocok untuk klien seperti SQL/PLUS atau TOAD.
DEFINE start_date = "to_date('03/11/2011', 'dd/mm/yyyy')"
SELECT COUNT(*) from my_table tab where tab.some_date < &start_date;