Rumah > Artikel > pangkalan data > Apakah kegunaan kemas kini dalam oracle
Penggunaan kemas kini dalam oracle: 1. Digunakan untuk mengubah suai data dalam jadual, sintaks ialah "KEMASKINI nama jadual SET nama lajur = nilai baru DI MANA nama lajur = nilai tertentu" 2. Digunakan untuk menggabungkan dua jadual Cipta paparan melalui perkaitan dan kemas kininya.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
Selain menyediakan kenyataan kemas kini standard, Oracle juga menyediakan beberapa kaedah kemas kini data lain untuk menangani senario aplikasi yang berbeza:
update_statement ::= UPDATE {table_reference | [THE] (subquery1)} [alias] SET { column_name = {sql_expression | (subquery2)} | (column_name [,column_name]...) = (subquery3)} [,{column_name = {sql_expression | (subquery2)} | (column_name [,column_name]...) = (subquery3) }]... [WHERE {search_condition | CURRENT_OF cursor_name}] [returning_clause]
Pernyataan kemas kini digunakan untuk mengubah suai data dalam jadual. Sintaks dalam W3school:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值。
kemas kini paparan gabungan adalah untuk membuat paparan dahulu dengan mengaitkan dua jadual dan kemudian mengemas kini paparan untuk mencapai tujuan mengemas kini jadual sumber :
update (select bonus from employee_bonus b inner join employees e on b.employee_id = e.employee_id where e.bonus_eligible = 'N') t set t.bonus = 0
Seperti yang dinyatakan dalam prinsip di atas, apa yang ada dalam kurungan adalah pandangan, dan apa yang ada dalam set adalah medan yang perlu dikemas kini Kaedah ini secara langsung dan cekap, tetapi ia adalah agak terhad. Jadual pekerja ialah Kunci utama mesti muncul dalam keadaan di mana, jika tidak, ralat akan dilaporkan, ORA-01779: Tidak dapat mengubah suai lajur yang sepadan dengan jadual penjimatan nilai bukan kunci.
bercantum menjadi pernyataan khusus Oracle:
MERGE INTO table_name alias1 USING (table | view | sub_query) alias2 ON (join condition) WHEN MATCHED THEN UPDATE table_name SET col1 = col_val1,col2 = col2_val WHEN NOT MATCHED THEN INSERT (column_list) VALUES (column_values);
Prinsipnya ialah setiap data yang dipilih dalam alias2 HIDUP dengan alias1 (syarat bergabung ) perbandingan, jika ia sepadan, lakukan operasi kemas kini (Kemas kini), jika tidak, lakukan operasi sisipan (Sisipkan).
Kursor mempunyai kursor Paparan dan pantas kursor.
Kursor pantas
begin for cur in (table|subquery) loop update_statement end loop; end;
Tunjukkan kursor
SET SERVEROUTPUT ON DECLARE CURSOR emp_cursor IS SELECT empno,ename FROM emp; BEGIN FOR Emp_record IN emp_cursor LOOP update_statement; END LOOP; END;
Terdapat banyak faedah menggunakan kursor Gelung for menyediakan kami cara untuk mengemas kini data kelompok, digabungkan dengan Medan fizikal rowid Oracle (Oracle mempunyai medan rowid secara lalai untuk setiap jadual dan merupakan indeks unik) dengan cepat boleh mencari rekod untuk dikemas kini dan boleh menyokong pernyataan pertanyaan yang kompleks.
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Apakah kegunaan kemas kini dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!