全部产品
Search
文档中心

ApsaraDB for OceanBase:Membuat prosedur tersimpan

更新时间:Jul 02, 2025

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 pernyataan CALL.

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.

Overview

Seperti yang ditunjukkan pada gambar di atas, Anda dapat membuat prosedur tersimpan dalam lima langkah berikut:

  1. Tentukan nama prosedur tersimpan.

  2. Tentukan parameter.

  3. Verifikasi parameter prosedur tersimpan.

  4. Edit prosedur tersimpan.

  5. Selesaikan pembuatan prosedur tersimpan.

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.

Catatan

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.

1

Langkah 2: 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 Nama, Mode, 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 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.

    Catatan

    Setelah menyalin baris, Anda dapat memilih baris dan menempelkan data baris yang disalin dengan tombol pintasan Command + V / Ctrl + V.

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

4

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.

5.1

Catatan

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

5.2