Topik ini menjelaskan cara melakukan kompilasi dan debugging objek PL.
Informasi latar belakang
PL (Procedural Language) adalah ekstensi dari SQL yang menggabungkan karakteristik bahasa pemrograman dengan pernyataan SQL. PL mengorganisir operasi data dan query dalam kode PL serta mengimplementasikan fitur kompleks menggunakan logika penilaian dan loop.
Dengan PL, Anda dapat memprogram berbagai aplikasi canggih dan mengenkapsulasi logika bisnis di dalam database. Hal ini meningkatkan abstraksi dan keamanan, mengurangi interaksi jaringan, serta mempercepat panggilan, sehingga meningkatkan kinerja.
Pengembangan program PL merupakan bagian penting dari pekerjaan pengembang layanan database. Selain mendukung pernyataan SQL, modul debugging PL juga sangat signifikan. Oleh karena itu, pengembang memerlukan area pengembangan PL dan fitur debugging selama pemrograman.
Anda dapat menggunakan pernyataan PL untuk menulis objek database seperti fungsi, prosedur tersimpan, paket, dan pemicu.
Di OceanBase Developer Center (ODC) V2.2.0 dan versi berikutnya, Anda dapat membuat, mengompilasi, menjalankan, dan men-debug objek PL serta blok anonim. Pernyataan PL dapat dikompilasi di bagian pengeditan jendela blok anonim. Anda juga dapat mengedit dan men-debug objek PL yang telah dibuat. Kami merekomendasikan penggunaan ODC versi terbaru untuk pengalaman yang lebih baik.
Misalnya, Anda ingin membuat prosedur tersimpan bernama PROC_VARCHAR2 di database GSH.
Data yang digunakan dalam topik ini adalah contoh. Anda dapat menggantinya dengan data aktual sesuai kebutuhan.
Prasyarat
Tabel berikut mencantumkan informasi dukungan PL dari ODC.
Fitur
Objek yang didukung
Sumber data yang didukung
Versi yang didukung
Kompilasi
Fungsi, prosedur tersimpan, dan paket
OceanBase Oracle dan OB Cloud Oracle
V2.2.7x dan V3.0.0 dan seterusnya
Debugging
Fungsi, prosedur tersimpan, dan blok anonim
OceanBase Oracle
V3.2.3 dan seterusnya
Menjalankan
Fungsi dan prosedur tersimpan
OceanBase Oracle, OB Cloud Oracle, OceanBase MySQL, OB Cloud MySQL
V2.0.x dan seterusnya
Fungsi dan prosedur tersimpan
MySQL
V5.7
Menjalankan
Paket dan blok anonim
OceanBase Oracle dan OB Cloud Oracle
V2.0.x dan seterusnya
Perhatikan aturan berikut:
Jika sumber data adalah instance kluster OceanBase, Anda harus terhubung dengannya menggunakan OceanBase Database Proxy (ODP). Instance ini tidak mendukung debugging.
Jendela blok anonim hanya ditampilkan untuk sumber data OceanBase Oracle dan OB Cloud Oracle.
ODC versi sebelum V3.2.3 tidak mendukung debugging dalam arsitektur advanced RISC machine (ARM).
Kompilasi PL
Buat prosedur tersimpan di jendela SQL.

CREATE OR REPLACE PROCEDURE PROC_VARCHAR2(p1 in VARCHAR2, p2 out VARCHAR2, p3 in out VARCHAR2) as v1 varchar2(64) := 'hello,oceanbase'; begin dbms_output.put_line(p1); dbms_output.put_line(p3); p2 := 'hello,odc'; end;Di panel navigasi sisi kiri jendela pengembangan SQL, klik ikon More di sebelah prosedur tersimpan
PROC_VARCHAR2dalam daftar prosedur tersimpan, lalu pilih Compile dalam daftar drop-down.
Kompilasi pernyataan PL dan lihat hasil kompilasi.

Debugging PL
Di panel navigasi sisi kiri jendela pengembangan SQL, klik ikon More di sebelah prosedur tersimpan
PROC_VARCHAR2dalam daftar prosedur tersimpan, lalu pilih Debug dalam daftar drop-down.
Atur parameter dan klik OK.
PentingUntuk OceanBase Database V4.0.0 dan seterusnya, Anda harus memperoleh izin debugging sebelum melakukan debugging. Berikut adalah sintaks:
GRANT DEBUG CONNECT SESSION TO GSH; GRANT DEBUG ANY PROCEDURE TO GSH;
Pergi ke halaman debugging dan klik Batch Execute untuk mengeksekusi pernyataan PL.
