Rumah > pangkalan data > Oracle > splicing prosedur tersimpan oracle

splicing prosedur tersimpan oracle

WBOY
Lepaskan: 2023-05-14 09:26:07
asal
3567 orang telah melayarinya

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);
Salin selepas log masuk

MULA

STR3 := STR1 || ' ' || STR2;
DBMS_OUTPUT.PUT_LINE(STR3);

STR3 := CONCAT(STR1, ' ', STR2);
DBMS_OUTPUT.PUT_LINE(STR3);
Salin selepas log masuk

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)
Salin selepas log masuk

);

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);
Salin selepas log masuk

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);
Salin selepas log masuk
🎜>TAMAT;

Selepas menjalankan prosedur tersimpan ini, nama dan nombor telefon setiap pengguna akan dikeluarkan. Antaranya, CHR(10) mewakili aksara Unicode 10, iaitu aksara pulangan pengangkutan dan digunakan untuk output suapan baris.

4. Ringkasan

Penyambungan rentetan sering digunakan dalam prosedur tersimpan Oracle, dan simbol || dan fungsi CONCAT ialah kaedah biasa untuk mencapai penyambungan. Anda boleh menggunakan simbol ||. untuk menyambungkan dua rentetan, tetapi ia tidak sesuai untuk menyambungkan berbilang rentetan;

Atas ialah kandungan terperinci splicing prosedur tersimpan oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan