ODC mendukung pembuatan fungsi secara visual. Topik ini menjelaskan cara membuat fungsi dengan ODC.
Ikhtisar
Fungsi adalah subprogram yang didefinisikan dalam database. Anda dapat memanggil fungsi menggunakan pernyataan SQL bawaan. Jika fungsi bawaan tidak memenuhi kebutuhan bisnis Anda, OceanBase Developer Center (ODC) memungkinkan Anda untuk membuat fungsi. Fungsi yang ditentukan pengguna membantu mengimplementasikan perhitungan dan operasi khusus serta mengurangi redundansi pengkodean untuk meningkatkan keterbacaan program.
Fungsi adalah objek prosedural yang mirip dengan prosedur tersimpan dalam database. Seperti prosedur tersimpan, fungsi terdiri dari pernyataan SQL dan pernyataan prosedural, serta dapat dipanggil oleh aplikasi dan pernyataan SQL lainnya.
Perbedaan antara fungsi yang ditentukan pengguna dan prosedur tersimpan:
Fungsi hanya mengembalikan satu hasil dan cocok untuk pemrosesan data yang menghasilkan satu hasil. Prosedur tersimpan dapat mengembalikan nol atau beberapa hasil dan cocok untuk penyisipan massal dan pembaruan massal.
Anda dapat memanggil fungsi menggunakan pernyataan
SELECT, sedangkan prosedur tersimpan menggunakan pernyataanCALL.

Seperti yang ditunjukkan pada gambar di atas, Anda dapat membuat fungsi dalam enam langkah berikut:
2. Tentukan tipe data nilai kembali.
Prosedur
Dalam contoh berikut, sebuah fungsi bernama function_emp dibuat di konsol ODC untuk mendapatkan nama karyawan dari tabel karyawan berdasarkan ID karyawan. Fungsi function_emp memiliki parameter id bertipe INT. Prosedur:
Langkah 1: Tentukan nama fungsi
Masuk ke ODC dan klik nama koneksi untuk masuk ke halaman manajemen koneksi yang sesuai. Klik Fungsi di panel navigasi sebelah kiri untuk melihat daftar fungsi. Untuk membuat fungsi, klik + di pojok kanan atas daftar fungsi atau klik Buat di bilah navigasi atas.

Langkah 2: Tentukan tipe data nilai kembali
Untuk informasi lebih lanjut tentang tipe data, lihat Panduan Pengembang Basis Data OceanBase.
Langkah 3: Tentukan parameter
Parameter menentukan informasi yang dilewatkan ke fungsi saat fungsi dipanggil.
Dalam mode Oracle, tentukan bidang berikut: Nama, Mode, Tipe, dan Nilai Default.
Dalam mode MySQL, tentukan bidang berikut: Nama, Tipe, dan Panjang.
Anda dapat menentukan parameter menggunakan salah satu dari tiga metode berikut.
Metode
Deskripsi
Gunakan bilah alat akses cepat
Di bilah alat akses cepat, Anda dapat menambah, menghapus, dan memindahkan parameter ke atas dan ke bawah.
Klik nomor baris
Anda dapat mengklik nomor baris untuk memilih baris dan menampilkan bilah alat akses cepat yang memungkinkan Anda menghapus baris atau memindahkan baris ke atas atau ke bawah.
Anda dapat mengklik nomor baris untuk memilih baris, lalu seret baris untuk menyesuaikan urutannya.
Klik kanan
Salin baris atau pindahkan satu baris ke bawah: Seret pointer untuk memilih baris, klik kanan, dan pilih Salin atau Pindahkan ke Bawah dari menu konteks yang muncul.
Salin sel: Pilih sel, klik kanan, dan pilih Salin dari menu konteks yang muncul.
Anda perlu menentukan mode untuk parameter.
Pengaturan mode parameter tidak tersedia dalam mode MySQL. Mode Oracle mendukung mode parameter berikut: IN, OUT, dan INOUT.
Mode
Deskripsi
IN
Menunjukkan parameter input. Saat fungsi dipanggil, parameter input dilewatkan ke fungsi dan digunakan dalam eksekusi fungsi.
OUT
Menunjukkan parameter output. Saat fungsi dipanggil, nilai parameter output diabaikan dan nilai kosong dilewatkan ke fungsi. Parameter output dalam tubuh fungsi dapat dimodifikasi. Hasil modifikasi dikembalikan dan dilewatkan ke argumen yang diwakili oleh parameter output.
INOUT
Menunjukkan parameter inout. Parameter inout adalah parameter input dan output sekaligus.
CatatanDalam mode Oracle, baik fungsi maupun prosedur tersimpan mendukung mode IN, OUT, dan INOUT. Dalam mode MySQL, fungsi hanya mendukung mode IN, dan prosedur tersimpan mendukung mode IN, OUT, dan INOUT.
Langkah 4: Konfirmasi Pembuatan Fungsi
Klik OK untuk masuk ke halaman Buat Fungsi.
Langkah 5: Edit informasi fungsi

Edit pernyataan fungsi di halaman Buat Fungsi.
Selain itu, bilah alat di halaman edit menyediakan tombol-tombol berikut.
Tombol | Deskripsi |
Format | Klik tombol ini untuk menerapkan pemformatan, seperti indentasi, jeda baris, dan penyorotan kata kunci, ke pernyataan SQL yang dipilih atau semua pernyataan SQL di jendela SQL saat ini. |
Cari dan Ganti | Klik tombol ini dan masukkan teks di bidang pencarian untuk menemukan konten tertentu dan masukkan teks di bidang penggantian untuk mengganti konten yang ditemukan. |
Batal | Klik tombol ini untuk membatalkan operasi terakhir. |
Ulangi | Klik tombol ini untuk membalikkan operasi Batal. |
Sensitivitas Huruf Besar/Kecil | Sistem mendukung tiga opsi kapitalisasi: Semua Huruf Besar, Semua Huruf Kecil, dan Huruf Pertama Kapital. Klik opsi yang sesuai untuk mengonversi pernyataan yang dipilih dalam skrip ke format kapitalisasi yang diinginkan. |
Indentasi | Anda dapat menambah indentasi atau menghapus indentasi dari pernyataan yang Anda pilih. |
Komentar | Anda dapat mengklik Tambah Komentar untuk mengonversi pernyataan yang Anda pilih menjadi komentar atau klik Hapus Komentar untuk mengonversi komentar menjadi pernyataan SQL. |
Konversi Nilai Masukan | Format seperti A B dapat dikonversi ke format ('A','B'). |
Anda dapat mengedit pernyataan SQL dari fungsi yang dibuat di halaman Buat Fungsi. Sintaks:
CREATE FUNCTION < function name > ([ <parameter 1> <type 1> [ , <parameter 2> <type 2>] ] …)
RETURNS < type >
< function body >Parameter:
Parameter | Deskripsi |
<function name> | Nama fungsi yang ditentukan pengguna. Penting Nama fungsi yang ditentukan pengguna tidak boleh sama dengan nama prosedur tersimpan. |
<parameter><type> | Parameter fungsi. Bidang ini hanya berisi nama dan tipe. Anda tidak dapat menentukan kata kunci IN, OUT, atau INOUT. |
RETURNS<type> | Tipe data nilai kembali. Penting Pernyataan SELECT dalam pernyataan RETURN VALUE hanya mengembalikan nilai satu baris dan satu kolom. |
<function body> | Tubuh fungsi yang ditentukan pengguna. Tubuh fungsi harus berisi pernyataan |
Contoh:
CREATE FUNCTION `function_emp` ( `id` int(45)) RETURNS VARCHAR(300)
-- Awal tubuh fungsi.
BEGIN
-- Deklarasikan variabel.
DECLARE
a VARCHAR(300);
-- Tetapkan nilai ke variabel.
SELECT
name INTO a
FROM
employee
WHERE
emp_no = id;
-- Tentukan nilai kembali.
RETURN a;
-- Akhir tubuh fungsi.
ENDLangkah 6: Selesaikan pembuatan fungsi.
Klik Buat di pojok kanan atas untuk membuat fungsi. Setelah fungsi yang ditentukan pengguna dibuat, Anda dapat menggunakan kata kunci SELECT untuk memanggilnya, sama seperti memanggil fungsi bawaan.
Untuk mengelola fungsi, klik kanan nama fungsi di panel navigasi sebelah kiri, dan pilih operasi yang diperlukan dari menu konteks, yang menyediakan opsi berikut: Lihat, Buat, Edit, Kompilasi, Debug, Jalankan, Unduh, Hapus, dan Segarkan.
Untuk informasi lebih lanjut, lihat Kelola fungsi.
Sintaks:
SELECT <function name> ([<parameter> [,...]])Contoh:
SELECT function_emp(2);Mode MySQL

Mode Oracle
PentingDalam mode Oracle, jika fungsi yang ditentukan pengguna berisi parameter OUT, Anda harus memanggil fungsi menggunakan pernyataan
CALL.Ikon kuning
dalam daftar fungsi menunjukkan kesalahan atau peringatan.