ODC mendukung pembuatan fungsi secara visual. Topik ini menjelaskan cara membuat fungsi menggunakan 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 melakukan 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 potongan kode 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
SELECTstatement. Anda dapat memanggil prosedur tersimpan menggunakanCALLstatement.

Seperti yang ditunjukkan pada gambar di atas, Anda dapat membuat fungsi dalam enam langkah berikut:
Tentukan nama fungsi.
Tentukan tipe data nilai kembali.
Tentukan parameter.
Verifikasi parameter dari fungsi baru.
Edit fungsi.
Selesaikan pembuatan fungsi.
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.
Data yang digunakan dalam topik ini adalah contoh. Anda dapat menggantinya dengan data aktual sesuai kebutuhan.
Prosedur
Langkah 1: Tentukan nama fungsi.
Masuk ke konsol ODC dan klik nama koneksi untuk masuk ke halaman manajemen koneksi yang sesuai. Anda dapat mengklik Fungsi di panel navigasi sisi kiri untuk mendapatkan 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.
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 |
|
Klik kanan | Klik kanan mouse untuk memilih seluruh baris, menyalin baris atau memindahkan baris ke bawah. |
Anda perlu menentukan mode untuk parameter.
Pengaturan mode parameter tidak tersedia dalam mode MySQL. Mode Oracle mendukung mode parameter berikut: IN, OUT, dan INOUT.
Parameter | Tipe |
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 sekaligus parameter output. |
Dalam 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: Verifikasi parameter dari fungsi baru.
Klik OK untuk masuk ke halaman Buat Fungsi.
Langkah 5: Edit fungsi.

Edit pernyataan fungsi di halaman Buat Fungsi. Anda dapat mengedit pernyataan SQL dari fungsi yang telah dibuat di halaman tersebut. Sintaks:
CREATE FUNCTION < function name > ([ <parameter 1> <type 1> [ , <parameter 2> <type 2>] ] …)
RETURNS < type >
< function body >
Parameter:
Parameter | Deskripsi |
< function name > | Nama dari fungsi yang didefinisikan pengguna. Penting Nama fungsi yang didefinisikan pengguna tidak boleh sama dengan 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 dari nilai yang dikembalikan. Penting Pernyataan SELECT dalam pernyataan RETURN VALUE hanya mengembalikan nilai single-row dan single-column. |
< 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;
-- Nilai kembali.
RETURN a;
-- Akhir tubuh fungsi.
END
Langkah 6: Selesaikan pembuatan fungsi.
Klik Buat di pojok kanan atas untuk membuat fungsi. Setelah fungsi yang ditentukan pengguna dibuat, Anda dapat menggunakan SELECT pernyataan untuk memanggilnya, seperti halnya memanggil fungsi bawaan.
Untuk mengelola fungsi, klik kanan nama fungsi di panel navigasi sisi kiri, dan pilih operasi yang diperlukan dari menu konteks, yang menyediakan opsi berikut: LihatBuat, EditKompilasi, DebugJalankan, UnduhHapus, dan SegarkanEdit, KompilasiDebug tidak didukung dalam mode MySQL. Untuk informasi lebih lanjut, lihat Buat Sebuah Fungsi.
Sintaks:
SELECT <function name> ([<parameter> [,...]])
Contoh:
SELECT function_emp(2);
