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ể, và 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)