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

Tại sao tôi nhận được ORA-00932:kiểu dữ liệu không nhất quán:dự kiến ​​- có - khi sử dụng COLLECT () trong một câu lệnh đã chuẩn bị?

Cuối cùng đã có một giải pháp cho vấn đề này, nhờ một số đào bới của một người dùng. Vấn đề không phải với trình giữ chỗ; tại sao nó hoạt động mà không có trình giữ chỗ trên hình ảnh VirtualBox, tôi không biết. Không, vấn đề là với COLLECT() . Có vẻ như cả hai giá trị đang được thu thập đều cần được chuyển sang một loại cụ thể, mảng kết quả cũng cần được truyền sang kiểu dữ liệu mảng được xác định trước. Điều đó xảy ra là mã của tôi có kiểu mảng tùy chỉnh:

CREATE TYPE sqitch_array AS varray(1024) OF VARCHAR2(512);

Vì vậy, tôi có thể làm cho truy vấn hoạt động bằng cách truyền COLLECT() như vậy:

CAST(COLLECT(CAST(t.tags as VARCHAR2(512))) AS sqitch_array)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL to_date &to_timestamp ORA-01858:một ký tự không phải số được tìm thấy ở vị trí số được mong đợi &ORA-01850:giờ phải từ 0 đến 23

  2. Cách xuất PL / SQL đúng cách

  3. ORA-27101:vùng bộ nhớ chia sẻ không tồn tại

  4. SQL, trên dòng thác xóa và trên dòng thác cập nhật

  5. Sử dụng cùng một tham số nhiều lần trong điều kiện WHERE của truy vấn SQL để sử dụng trong JDBC