Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ORA-21700:đối tượng không tồn tại hoặc được đánh dấu để xóa đối với Mảng liên kết dưới dạng tham số đầu vào được gọi từ ODP.NET

sau vài ngày sử dụng googling, tôi đã thay đổi mã theo cách này:

CREATE OR REPLACE PACKAGE Support_Data_Types AS
            TYPE ttDate            IS TABLE OF DATE
END Support_Data_Types;
PROCEDURE GetData
(
    tabDates IN SUPPORT_DATA_TYPES.TTDATE,
)
AS
    v_temp SUPPORT_DATA_TYPES.TTDATE:= tabDates;  -- assigned the parameter to a temporary variable
BEGIN
    SELECT count(*) INTO n FROM table(v_temp);
END GetData;

điều duy nhất tôi đã làm là sử dụng v_temp trông khá thừa. nhưng nó đã có tác dụng. Tôi thực hiện thay đổi này vì tôi đã tìm kiếm bài viết này ở đây ... nó đề cập đến:

Tuy nhiên, lưu ý rằng kể từ 12.1, bạn không thể gọi hàm bảng trực tiếp bên trong toán tử TABLE. Bạn phải gọi nó trong PL / SQL, gán kết quả cho một biến, sau đó tham chiếu đến biến bên trong TABLE.

mặc dù tình huống khác nhau trong trường hợp của tôi (tôi đang sử dụng 12.2), nó đã giải quyết được vấn đề của tôi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các giá trị không hiển thị với số 0 ở đầu trong oracle

  2. số hàng không hiển thị bất kỳ hàng nào khi sử dụng giữa từ khóa

  3. Sửa lỗi ORA-65096 khi tạo kiểm tra tự động trong Django bằng Oracle

  4. Oracle sang Excel - Quy trình xuất PL / SQL

  5. Thủ tục Oracle không trả về kết quả khi thực thi từ tác vụ tập lệnh trên SSIS