Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mengubah suai nilai lajur dalam pangkalan data Oracle

Bagaimana untuk mengubah suai nilai lajur dalam pangkalan data Oracle

PHPz
PHPzasal
2023-04-04 09:01:263204semak imbas

Pangkalan data Oracle ialah salah satu sistem pengurusan pangkalan data hubungan yang paling biasa digunakan di dunia. Apabila mengendalikan dan menyelenggara pangkalan data Oracle, selalunya perlu mengubah suai lajur dalam jadual untuk memenuhi keperluan logik perniagaan. Artikel ini akan memperkenalkan secara terperinci cara mengubah suai nilai lajur dalam pangkalan data Oracle untuk rujukan pembaca.

1. Gunakan pernyataan UPDATE untuk mengubah nilai lajur

Kenyataan UPDATE ialah salah satu cara yang paling biasa digunakan untuk mengubah suai data dalam pangkalan data Oracle dengan mudah nilai lajur dalam jadual. Sintaks asas adalah seperti berikut:

KEMASKINI nama_jadual
SET lajur1 = nilai1, lajur2 = nilai2,...
Keadaan WHERE;

Di mana, nama_jadual mewakili nama bagi jadual yang perlu diubah suai; lajur1, lajur2, dsb. mewakili nama lajur yang perlu diubah suai, nilai2, dsb. mewakili nilai yang perlu diubah suai;

Berikut ialah contoh anda perlu menukar kedudukan dalam rekod pekerja bernama "Zhang San" daripada "Programmer" kepada "Software Engineer" dalam jadual untuk mencapai ini:

KEMASKINI jadual_pekerja
SET kedudukan = 'Jurutera Perisian'
WHERE name = 'Zhang San';

2. Gunakan blok pernyataan PL/SQL untuk mengubah suai lajur values

Selain menggunakan pernyataan UPDATE, kita juga boleh menggunakan blok pernyataan PL/SQL untuk mengubah suai nilai lajur dalam jadual. PL/SQL ialah bahasa proses khusus untuk pangkalan data Oracle Sintaksnya serupa dengan bahasa pengaturcaraan lain dan boleh digunakan untuk menulis prosedur tersimpan, pencetus, fungsi, dll.

Berikut ialah contoh Anda perlu menaikkan semua gaji dalam jadual pekerja sebanyak 500 yuan Kita boleh menggunakan blok penyata PL/SQL berikut untuk mencapai ini:

ISYTIHKAN v_kenaikan_gaji BIL(10 ,2) := 500;
MULAKAN
​​UNTUK emp IN (PILIH * DARI jadual_pekerja)
LOOP

UPDATE employee_table
SET salary = emp.salary + v_increase_salary
WHERE id = emp.id;
END LOOP;

KOMIT ;
END;

Dalam contoh di atas, kita takrifkan dulu pembolehubah v_kenaikan_gaji untuk menyimpan nilai gaji yang perlu dinaikkan. Kemudian, gunakan gelung FOR untuk merentasi semua rekod pekerja dan meningkatkan nilai gaji mereka sebanyak 500 yuan melalui penyata KEMASKINI. Akhir sekali, serahkan hasil pengubahsuaian melalui penyata COMMIT.

3. Gunakan TRIGGER untuk mengubah suai nilai lajur

TRIGGER ialah objek yang sangat biasa digunakan dalam pangkalan data Oracle dan boleh digunakan untuk melaksanakan operasi tertentu secara automatik. Dengan mencipta TRIGGER pada jadual, kami boleh melakukan operasi berkaitan secara automatik apabila operasi data berlaku, seperti mengubah suai nilai lajur. Kaedah operasi khusus adalah seperti berikut:

BUAT ATAU GANTIKAN trigger_name

SELEPAS MASUKKAN ATAU KEMASKINI ATAU PADAM
PADA table_name
UNTUK SETIAP BARIS
MULAKAN
​​-- trigger_body
- - Ubah suai nilai lajur yang ditentukan dalam jadual dan operasi lain
END; nama TRIGGER, yang tidak boleh bercanggah dengan nama objek lain; SELEPAS INSERT ATAU KEMASKINI ATAU PADAM menunjukkan bahawa TRIGGER dicetuskan apabila melaksanakan operasi INSERT, UPDATE atau DELETE untuk setiap baris rekod secara berasingan; menunjukkan operasi khusus yang perlu dilakukan apabila mencetuskan TRIGGER.

Berikut adalah contoh andaikan kita perlu menambah picu dalam jadual pekerja supaya apabila gaji mana-mana orang diubah, nilai gaji sebelum pengubahsuaian akan direkodkan ke dalam jadual sejarah gaji pekerja, maka Anda boleh. gunakan pernyataan SQL berikut untuk mencipta TRIGGER yang sepadan:

CIPTA ATAU GANTIKAN TRIGGER trg_save_gaji

SELEPAS KEMASKINI PADA employee_table

UNTUK SETIAP BARIS

BERMULA
​​MASUKKAN KE DALAM salary(_history_table lama_gaji, baru_gaji , kemas kini_tarikh)
NILAI(:LAMA.id, :LAMA.gaji, :BARU.gaji, SYSDATE);
END;

Dalam contoh di atas, kami mencipta TRIGGER bernama trg_save_salary , yang akan dicetuskan apabila operasi UPDATE berlaku dalam jadual employee_table. Melalui penyata INSERT INTO, kami merekodkan gaji sebelum ubah suai ke dalam jadual_sejarah_gaji, dan merekodkan maklumat lain yang berkaitan (ID pekerja, nilai gaji lama, nilai gaji baru, tarikh pengubahsuaian) bersama-sama.

Ringkasan:

Pangkalan data Oracle ialah salah satu sistem pengurusan pangkalan data hubungan yang paling biasa digunakan di dunia Dengan mahir menguasai penggunaan penyataan KEMASKINI, blok pernyataan PL/SQL dan TRIGGER, anda boleh. merealisasikan manipulasi jadual Ubah suai nilai lajur dan memenuhi keperluan perniagaan. Dalam aplikasi sebenar, kaedah pengubahsuaian yang berbeza perlu dipilih mengikut senario perniagaan yang berbeza untuk mencapai kesan operasi dan penyelenggaraan yang optimum.

Atas ialah kandungan terperinci Bagaimana untuk mengubah suai nilai lajur dalam pangkalan data Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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