ODC mendukung pembuatan prosedur tersimpan secara visual. Topik ini menjelaskan cara membuat prosedur tersimpan menggunakan ODC.
Ikhtisar
Prosedur tersimpan adalah kumpulan satu atau lebih pernyataan yang digunakan untuk melakukan serangkaian operasi kompleks pada database. Dengan prosedur tersimpan, Anda dapat mengenkapsulasi operasi tersebut ke dalam blok kode yang dapat digunakan kembali, membantu pengembang mengurangi beban kerja mereka.
Dalam OceanBase Database, prosedur tersimpan merupakan kumpulan pernyataan SQL yang dirancang untuk mengimplementasikan fitur tertentu. Setelah dikompilasi dan disimpan di dalam database, prosedur tersimpan dapat dipanggil dengan menentukan nama dan parameter yang diperlukan, mempercepat eksekusi pernyataan SQL.
Prosedur tersimpan dapat mencakup parameter dan nilai balik.
Perbedaan antara prosedur tersimpan dan fungsi
Nilai balik dari fungsi adalah hasil nilai spesifik, sedangkan nilai balik dari prosedur tersimpan hanya menunjukkan apakah eksekusi berhasil.
Fungsi dapat dipanggil menggunakan pernyataan
SELECT, sedangkan prosedur tersimpan dipanggil menggunakan pernyataanCALL.
Manfaat prosedur tersimpan
Meningkatkan kegunaan umum dan portabilitas aplikasi: Setelah dibuat, prosedur tersimpan dapat dipanggil berulang kali tanpa perlu menulis ulang pernyataan SQL. Selain itu, prosedur tersimpan dapat dimodifikasi tanpa memengaruhi kode sumber program, sehingga meningkatkan portabilitas program.
Mempercepat eksekusi SQL: Jika suatu operasi melibatkan banyak pernyataan SQL atau eksekusi berulang dari pernyataan SQL yang sama, Anda dapat mengompilasi kode menjadi prosedur tersimpan dan mengeksekusinya, yang lebih cepat daripada mengeksekusi pernyataan secara terpisah.
Mengurangi beban kerja server: Saat menggunakan pernyataan SQL tunggal untuk setiap operasi pada objek database, banyak pernyataan SQL ditransmisikan. Namun, dengan menggunakan prosedur tersimpan, hanya perintah pemanggilan prosedur yang dikirim, mengurangi beban jaringan.

Seperti yang ditunjukkan pada gambar di atas, Anda dapat membuat prosedur tersimpan dalam lima langkah berikut:
Pada contoh berikut, prosedur tersimpan bernama proc_total dibuat di konsol ODC untuk perhitungan anggaran departemen. Prosedur tersimpan ini mencakup dua parameter input tipe INT, budget_r dan budget_s, serta menghitung jumlah dari kedua parameter tersebut.
Data yang digunakan dalam topik ini adalah contoh. Anda dapat menggantinya dengan data aktual sesuai kebutuhan.
Prosedur
Langkah 1: Tentukan nama prosedur tersimpan.
Masuk ke konsol ODC dan klik nama koneksi yang diinginkan untuk masuk ke halaman manajemen koneksi yang sesuai. Klik Prosedur Tersimpan di panel navigasi sebelah kiri untuk melihat daftar prosedur tersimpan. Untuk membuat prosedur tersimpan, klik tombol + di pojok kanan atas daftar Prosedur Tersimpan atau pilih Buat > Prosedur Tersimpan di bilah navigasi atas.
Di kotak dialog Buat Prosedur Tersimpan, masukkan nama untuk prosedur tersimpan.

Langkah 2: 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 Nama, Mode, 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 menyeret baris untuk menyesuaikan urutannya.
Klik kanan
Salin baris atau pindahkan satu baris ke bawah: Seret penunjuk untuk memilih baris, klik kanan, lalu pilih Salin atau Pindahkan ke Bawah dari menu konteks yang muncul.
Salin sel: Pilih sel, klik kanan, lalu pilih Salin dari menu konteks yang muncul.
CatatanSetelah menyalin baris, Anda dapat memilih baris dan menempelkan data baris yang disalin dengan tombol pintasan Command + V / Ctrl + V.
Anda perlu menentukan mode untuk parameter.
OceanBase Database dalam mode MySQL dan Oracle mendukung mode parameter berikut: IN, OUT, dan INOUT.
CREATE PROCEDURE proc_name ([[IN |OUT |INOUT ] parameter_name parameter_type...])Parameter
Parameter
Tipe
IN
Menunjukkan parameter input.
Saat prosedur tersimpan dipanggil, parameter input dilewatkan ke prosedur tersimpan dan digunakan dalam eksekusi prosedur tersimpan. Biasanya, parameter input hanya digunakan untuk melewatkan nilai masuk, dan tidak dimodifikasi atau dikembalikan dalam pemanggilan prosedur tersimpan.
OUT
Menunjukkan parameter output.
Saat prosedur tersimpan dipanggil, nilai parameter output diabaikan dan nilai kosong dilewatkan ke prosedur tersimpan. Nilai parameter output dimodifikasi selama eksekusi prosedur tersimpan. Setelah eksekusi selesai, nilai yang dimodifikasi diberikan kepada parameter output. Biasanya, parameter output digunakan untuk mendapatkan hasil eksekusi prosedur tersimpan. Parameter output dapat digunakan untuk memodifikasi dan mengembalikan nilai dalam pemanggilan prosedur tersimpan.
INOUT
Menunjukkan parameter inout.
Parameter inout adalah parameter input sekaligus parameter output.
Pengaturan parameter
Properti
Wajib
Default
Mode
Nama
Ya
Kosong
Oracle/MySQL
Mode
Ya
IN
Oracle/MySQL
Tipe
Ya
VARCHAR
Oracle/MySQL
Panjang
Ya
45
MySQL
Nilai default
Tidak
Kosong
Oracle
Langkah 3: Verifikasi parameter prosedur tersimpan.
Klik OK untuk masuk ke halaman Buat Prosedur Tersimpan.
Langkah 4: Edit prosedur tersimpan.

Edit pernyataan di halaman Buat Prosedur Tersimpan.
Selain itu, bilah alat di halaman pengeditan menyediakan 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. |
Undo | Klik tombol ini untuk membatalkan operasi terakhir. |
Redo | Klik tombol ini untuk membalikkan operasi Undo. |
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 IN | Format seperti A B dapat dikonversi ke format ('A','B'). |
Anda dapat mengedit pernyataan SQL dari prosedur tersimpan yang telah dibuat di halaman Buat Prosedur Tersimpan. Sintaks:
CREATE PROCEDURE proc_name (
[proc_parameter[,...]])
IS
BEGIN
proc_body:
Valid SQL routine statement
END [end_label]
Parameter
Parameter | Deskripsi |
proc_name | Nama prosedur tersimpan. Secara default, prosedur tersimpan dibuat di database saat ini. Untuk membuat prosedur tersimpan di database tertentu, tambahkan nama database sebagai awalan ke nama prosedur tersimpan dalam format db_name.sp_name. Catatan Nama prosedur tersimpan harus berbeda dari nama fungsi bawaan MySQL apa pun. Jika tidak, kesalahan mungkin terjadi. |
[proc_parameter[,…] ] | Daftar parameter prosedur tersimpan. Parameter ditentukan dalam format `[IN |
proc_body | Tubuh prosedur tersimpan, yang berisi pernyataan SQL yang akan dieksekusi saat prosedur tersimpan dipanggil. Tubuh dimulai dengan BEGIN dan diakhiri dengan END. Jika tubuh hanya berisi satu pernyataan SQL, Anda dapat menghilangkan tanda BEGIN dan END. |
Langkah 5: Selesaikan pembuatan prosedur tersimpan.
Klik Buat di pojok kanan atas untuk membuat prosedur tersimpan. Setelah prosedur tersimpan dibuat, Anda dapat menggunakan pernyataan CALL untuk memanggilnya, sama seperti cara Anda memanggil fungsi bawaan.

Untuk mengelola prosedur tersimpan, klik kanan nama prosedur tersimpan di panel navigasi sebelah kiri, dan pilih operasi yang diperlukan dari menu konteks. Menu ini menyediakan opsi berikut: Lihat, Buat, Edit, Jalankan, Unduh, Hapus, dan Segarkan.
Untuk informasi lebih lanjut, lihat Kelola Prosedur Tersimpan.
Sintaks:
CALL proc_name ([proc_parameter [,...]]);
Contoh:
CALL proc_total (30000, 20000);
