Tôi có một khối pl/sql ẩn danh với một quy trình được khai báo bên trong nó cũng như một con trỏ. Nếu tôi khai báo thủ tục trước khi con trỏ thất bại. Có yêu cầu con trỏ được khai báo trước khi làm thủ tục không?Thứ tự khai báo trong khối pl/sql ẩn danh
Có các quy tắc nào khác cho thứ tự khai báo trong khối pl/sql?
này hoạt động:
DECLARE
cursor cur is select 1 from dual;
procedure foo as begin null; end foo;
BEGIN
null;
END;
này thất bại với lỗi PLS-00103: Encountered the symbol "CURSOR" when expecting one of the following: begin function package pragma procedure form
DECLARE
procedure foo as begin null; end foo;
cursor cur is select 1 from dual;
BEGIN
null;
END;
Các tài liệu tham khảo tài liệu hướng dẫn là tại đây http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/block.htm#i32791 Nó không phải là rất rõ ràng, nhưng "tuyên bố mục" (ví dụ như biến) nằm trong danh sách 1 và phải đến trước "định nghĩa thủ tục/chức năng" ich có trong danh sách 2. –
@Gary: Tuyệt vời, cảm ơn! –