Klien DB Solo Anda tampaknya menafsirkan titik koma pertama yang dilihatnya sebagai akhir dari pernyataan, yang masuk akal untuk SQL biasa (DML atau DDL) tetapi tidak untuk PL/SQL.
Anda dapat melihatnya dari gambar log yang Anda posting; ia memperlakukan create function ... v_ids integer
bagian sebagai satu pernyataan karena itu diakhiri dengan titik koma pertama - itu dikompilasi tetapi dengan kesalahan. Kemudian dibutuhkan potongan berikutnya, hingga titik koma berikutnya, sebagai pernyataan terpisah - v_str varchar2(5000)
- dan itu yang mendapatkan ORA-00900, karena itu bukan SQL yang valid.
Jadi berdasarkan itu sepertinya tidak mengerti bagaimana memperlakukan PL/SQL secara berbeda; tetapi Anda dapat mengubah pengaturan Anda untuk tidak memperlakukan titik koma sebagai pemisah pernyataan - secara keseluruhan, yang berarti Anda harus menambahkan GO setelah create type
dan create function
pernyataan, dan pertanyaan atau panggilan lain yang Anda buat. Ini akan mirip dengan menggunakan /
di mana saja di SQL*Plus atau SQL Developer.
Mungkin lebih mudah menggunakan editor prosedur . Agaknya setelah Anda membuat jenis dan fungsi dari browser objek .
Atau, tentu saja, gunakan klien lain...