Kata Pengantar
Dalam pangkalan data Oracle, prosedur tersimpan ialah skrip yang digunakan untuk melaksanakan satu siri pernyataan SQL dan boleh dipanggil dalam atur cara. Prosedur tersimpan mempunyai kelebihan pengiraan pantas, kebolehgunaan semula, penyelenggaraan yang ringkas dan mudah, dsb., jadi ia digunakan secara meluas dalam pembangunan sebenar. Artikel ini akan memperkenalkan operasi penyambungan rentetan dalam prosedur tersimpan.
1. Penyambungan rentetan Oracle
Terdapat banyak kaedah penyambungan rentetan dalam pangkalan data Oracle, yang biasa ialah || simbol dan fungsi CONCAT. Antaranya, simbol || ialah operator unik Oracle, yang bermaksud dua rentetan disambungkan bersama. Contohnya:
PILIH 'Hello ' || 'World' DARIPADA DUAL;
Pernyataan di atas akan mengembalikan rentetan "Hello World". Perlu diingat bahawa simbol ||. hanya boleh menggabungkan dua rentetan dan tidak boleh digunakan untuk menggabungkan berbilang rentetan. Di samping itu, jika NULL muncul dalam rentetan yang disambungkan, hasil yang dikembalikan juga adalah NULL. Contohnya:
PILIH 'Hello' ||.
Satu lagi kaedah penggabungan rentetan yang biasa digunakan ialah fungsi CONCAT. Fungsi ini menggabungkan dua atau lebih rentetan dan mengembalikan rentetan bercantum. Contohnya:
PILIH CONCAT('Hello ', 'World') DARIPADA DUAL;
Pernyataan di atas akan mengembalikan rentetan "Hello World". Apabila menggunakan fungsi CONCAT untuk menggabungkan rentetan, jika sebarang rentetan adalah NULL, fungsi tersebut akan mengembalikan nilai NULL. Contohnya:
PILIH CONCAT('Hello ', NULL, 'World') DARI DUAL;
Pernyataan ini juga akan mengembalikan nilai NULL.
2. Penyambungan rentetan dalam prosedur tersimpan Oracle
Dalam prosedur tersimpan Oracle, anda juga boleh menggunakan simbol || dan fungsi CONCAT untuk melaksanakan operasi penyambungan rentetan. Contohnya:
BUAT ATAU GANTIKAN PROSEDUR PROC1 SEBAGAI
STR1 VARCHAR2(20) := 'Hello'; STR2 VARCHAR2(20) := 'World'; STR3 VARCHAR2(50);
MULA
STR3 := STR1 || ' ' || STR2; DBMS_OUTPUT.PUT_LINE(STR3); STR3 := CONCAT(STR1, ' ', STR2); DBMS_OUTPUT.PUT_LINE(STR3);
TAMAT;
Prosedur tersimpan PROC1 mentakrifkan tiga pembolehubah rentetan: STR1, STR2 dan STR3. Dalam prosedur tersimpan, mula-mula gunakan simbol || untuk menyambungkan STR1 dan STR2 bersama-sama dan tetapkan nilai kepada STR3, kemudian gunakan fungsi CONCAT untuk menyambungkan STR1 dan STR2 bersama-sama dan tetapkan nilai kepada STR3. Akhir sekali, gunakan DBMS_OUTPUT.PUT_LINE untuk mengeluarkan STR3 ke tetingkap output DBMS.
Perlu diingatkan bahawa dalam prosedur tersimpan Oracle, jika anda ingin menyambungkan berbilang rentetan, adalah disyorkan untuk menggunakan fungsi CONCAT untuk beroperasi, yang boleh memastikan kestabilan dan kebolehbacaan kod.
3. Contoh kod
Untuk lebih memahami operasi penyambungan rentetan dalam prosedur tersimpan Oracle, kod sampel lengkap diberikan di bawah:
BUAT MEJA PENGGUNA_INFO (
USER_ID NUMBER(10), USER_NAME VARCHAR2(50), PHONE_NUM VARCHAR2(20)
);
MASUKKAN KE DALAM NILAI_INFO_Pengguna(1, 'Alice', '1234567890');
MASUKKAN KE DALAM NILAI_MAKLUMAT_PENGGUNA(2, 'Bob', '0987654321');MASUKKAN KE DALAM NILAI_MAKLUMAT_Pengguna(3, 'Charlie', '1357924680');
KOMIT;
BUAT ATAU GANTIKAN PROSEDUR PROC2 SEBAGAI
STR1 VARCHAR2(30); STR2 VARCHAR2(100);
MULAKAN
FOR CURR IN (SELECT USER_NAME, PHONE_NUM FROM USER_INFO ORDER BY USER_ID) LOOP STR1 := 'USER NAME: ' || CURR.USER_NAME || ', '; STR2 := CONCAT(STR2, STR1, 'PHONE NUM: ', CURR.PHONE_NUM, CHR(10)); END LOOP; DBMS_OUTPUT.PUT_LINE(STR2);
Atas ialah kandungan terperinci splicing prosedur tersimpan oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!