Cụm từ quan trọng ở đó là 'định hướng bản ghi'. Cú pháp cho khai báo con trỏ rõ ràng
cũng cho thấy rõ ràng kiểu trả về phải là rowtype
, nó định nghĩa là:
Bạn đang yêu cầu nó trả về kiểu dữ liệu của một cột, không phải của một hàng / bản ghi. Nếu bạn không muốn sử dụng %ROWTYPE
hiện có thì Oracle cung cấp cơ chế để khai báo một loại bản ghi thay thế, như một câu trả lời khác đã được hiển thị.
Có vẻ như bạn đang phàn nàn rằng tài liệu không nói rằng bạn không thể sử dụng giá trị vô hướng làm giá trị trả về. Nó cũng không nói rằng bạn không thể trả về một gói, một chế độ xem hoặc một vai trò. Nó không cần phải liệt kê đầy đủ mọi thứ bạn không thể làm, vì nó cho bạn biết rõ ràng chính xác những gì bạn có thể do, nghĩa là trả về một kiểu đại diện cho một hàng.
Trong trường hợp của bạn, loại hàng đó chỉ cần chứa một cột duy nhất, nhưng vẫn không có lý do gì bạn có thể - hoặc mong đợi Oracle - cho phép bạn thực hiện một phím tắt trong kịch bản rất hạn chế đó. Có vẻ không hợp lý khi cung cấp một cơ chế nhất quán duy nhất - bạn không gặp nhiều khó khăn khi khai báo record
, trong khi đó, họ cần, thử nghiệm và duy trì một đường dẫn riêng cho việc này sẽ là một chi phí đáng kể.