Kutipan dari komentar Anda ke @ajmalmhd04 jawaban
Ya, dokumentasi agak membingungkan dalam cara mendefinisikan operator yang ditentukan pengguna, terutama bagian ini:
Sayangnya, itu berarti Anda dapat menggunakan operator yang ditentukan pengguna di mana (kebanyakan) Anda dapat menggunakan operator bawaan tetapi tidak dengan cara yang sama (operand1 OPERATOR operand2
misalnya) Anda menggunakan operator bawaan, seperti <
atau =
. Operator yang ditentukan pengguna, jika tidak melihatnya dengan sangat dekat, adalah cara yang berbeda untuk memanggil fungsi dengan pengecualian bahwa mereka (operator) hanya dapat digunakan dalam pernyataan DML (select
, insert
Dan seterusnya). Anda tidak akan dapat menggunakannya di PL/SQL secara langsung, hanya melalui DML. Jadi, seperti ini, di PL/SQL akan menghasilkan PLS-00548: invalid use of operator.
if operator(<<arguments>>) = 1 then
-- something
end if;
Manfaat membuat dan menggunakan operator, jika Anda tidak terlibat dalam pengembangan ekstensi berbasis server khusus aplikasi (kartrid data), tipe indeks misalnya, tidak begitu terlihat oleh saya pribadi. Tidak dapat memikirkan situasi di mana Anda dapat menggunakan operator dan tidak dapat menggunakan fungsi. Sebaliknya tidak benar, namun. Anda mungkin melihat kemampuan operator untuk memiliki banyak ikatan sebagai cara menggunakannya sebagai fungsi kelebihan beban. Namun, di sisi lain, Anda dapat dengan mudah mencapai hal yang sama dengan paket.