Khai báo biến của bạn là đúng.
DECLARE
từ khóa được sử dụng để xác định các biến có phạm vi trong một khối PL / SQL (có phần nội dung được phân tách bằng BEGIN
và END;
). Bạn muốn sử dụng biến này như thế nào?
PL / SQL sau hoạt động tốt đối với tôi:
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;
Bạn cũng có thể sử dụng DEFINE
câu lệnh để sử dụng các biến thay thế chuỗi đơn giản. Chúng phù hợp với một ứng dụng khách như SQL / PLUS hoặc TOAD.
DEFINE start_date = "to_date('03/11/2011', 'dd/mm/yyyy')"
SELECT COUNT(*) from my_table tab where tab.some_date < &start_date;