tôi có chức năng nhỏ sau đây mà không biên dịch:Làm cách nào để khắc phục lỗi "Báo cáo SQL bị bỏ qua" này?
function f_query_01 Return interval Day to second is
start_time timestamp(3);
end_time timestamp(3);
time_diff interval Day to second;
c_query_number number;
begin
start_time := systimestamp;
select count(*) into c_query_number from wg; <--This is the line that errors out
end_time := systimestamp;
time_diff := start_time - end_time;
return time_diff;
end f_query_01;
Trình biên dịch mang lại cho tôi những lỗi sau đây:
Error(29,3): PL/SQL: SQL Statement ignored
Error(29,44): PL/SQL: ORA-04044: procedure, function, package, or type is not allowed here
gì đang gây ra lỗi này và làm thế nào tôi có thể sửa chữa nó?
Liệu 'select count (*) vào c_query_number từ wg;' làm việc bên ngoài hàm, khi chạy trong cùng cơ sở dữ liệu/lược đồ làm hàm? –
Thú vị. Nó đã thử mã này, thay thế wg cho một cái bàn nhỏ khác. Biên dịch và chạy thành công. Bạn có chắc đây chính là mã có sự cố không? –
Vấn đề là bảng wg không tồn tại. Khi tôi đổi tên bảng thành tên chính xác thì tất cả đều ổn. Tôi thực sự cảm thấy thông báo lỗi là khá sai lầm trong trường hợp này, điều đó xảy ra, nhưng nó vẫn còn bực bội. – twamn