Máy khách DB Solo của bạn dường như đang diễn giải dấu chấm phẩy đầu tiên mà nó coi là phần cuối của câu lệnh, điều này hợp lý với SQL thuần túy (DML hoặc DDL) nhưng không hợp lý với PL / SQL.
Bạn có thể thấy điều đó từ hình ảnh nhật ký bạn đã đăng; nó xử lý create function ... v_ids integer
một phần như một câu lệnh vì câu lệnh đó kết thúc bằng dấu chấm phẩy đầu tiên - nó biên dịch nhưng có lỗi. Sau đó, nó lấy đoạn tiếp theo, cho đến dấu chấm phẩy tiếp theo, dưới dạng một câu lệnh riêng - v_str varchar2(5000)
- và đó là lấy ORA-00900, vì nó không phải là SQL hợp lệ.
Vì vậy, dựa trên đó nó dường như không hiểu cách xử lý PL / SQL khác nhau; nhưng bạn có thể thay đổi cài đặt của mình để không coi dấu chấm phẩy là dấu phân cách câu lệnh - trên bảng, có nghĩa là bạn cần thêm GO sau cả create type
và create function
câu lệnh và bất kỳ truy vấn hoặc cuộc gọi nào khác mà bạn thực hiện. Điều này sẽ tương tự như sử dụng /
ở mọi nơi trong SQL * Plus hoặc SQL Developer.
Có thể dễ dàng hơn khi sử dụng trình chỉnh sửa thủ tục . Có lẽ sau khi bạn đã tạo loại và chức năng từ trình duyệt đối tượng .
Hoặc, tất nhiên, sử dụng một ứng dụng khách khác ...