全部产品
Search
文档中心

ApsaraDB for OceanBase:Buat sebuah fungsi

更新时间:Jul 02, 2025

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 SELECT statement. Anda dapat memanggil prosedur tersimpan menggunakan CALL statement.

image

Seperti yang ditunjukkan pada gambar di atas, Anda dapat membuat fungsi dalam enam langkah berikut:

  1. Tentukan nama fungsi.

  2. Tentukan tipe data nilai kembali.

  3. Tentukan parameter.

  4. Verifikasi parameter dari fungsi baru.

  5. Edit fungsi.

  6. 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.

Catatan

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.

image

Langkah 2: Tentukan tipe data nilai kembali.

Langkah 3: Tentukan parameter.

  1. 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.

  2. 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

Klik kanan mouse untuk memilih seluruh baris, menyalin baris atau memindahkan baris ke bawah.

  1. 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.

Catatan

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.

image

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.<type>menentukan 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 pernyataanRETURN <value>, dimana<value>menentukan nilai kembali dari fungsi yang ditentukan pengguna.

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.

Catatan
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);

image

Referensi