Jadual Kandungan
Cara menulis pencetus Oracle
Rumah pangkalan data Oracle Bagaimana untuk menulis pencetus oracle

Bagaimana untuk menulis pencetus oracle

Jan 25, 2022 pm 12:07 PM
oracle

Dalam Oracle, pencetus secara automatik melaksanakan pernyataan yang ditentukan apabila syarat yang ditentukan dipenuhi Ia ditulis sebagai "buat [atau gantikan] peristiwa pencetus masa pencetus nama pada nama jadual [untuk setiap baris] mula pl. /sql pernyataan tamat".

Bagaimana untuk menulis pencetus oracle

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.

Cara menulis pencetus Oracle

1 Pengenalan kepada pencetus

Takrif pencetus bermaksud apabila keadaan tertentu ditetapkan, Pernyataan tersebut yang ditakrifkan dalam bekas akan dilaksanakan secara automatik.

Oleh itu, pencetus tidak perlu dipanggil secara manual dan tidak boleh dipanggil.

Kemudian, keadaan pencetus pencetus sebenarnya ditetapkan apabila anda mentakrifkannya.

Perlu diterangkan di sini bahawa pencetus boleh dibahagikan kepada pencetus peringkat pernyataan dan pencetus peringkat baris.

Untuk pengenalan terperinci, sila rujuk maklumat di Internet Ringkasnya, pencetus peringkat kenyataan boleh dicetuskan sebelum atau selepas pelaksanaan kenyataan tertentu. Pencetus peringkat baris dicetuskan sekali apabila data baris dalam jadual pencetus yang ditentukan berubah.

Contoh khusus:

1 Pencetus peringkat penyataan yang ditakrifkan dalam jadual Apabila jadual dipadamkan, program akan melaksanakan proses operasi yang ditakrifkan dalam pencetus. Ini bermakna bahawa operasi memadam jadual adalah syarat untuk pelaksanaan pencetus.

2. Pencetus peringkat baris ditakrifkan dalam jadual Apabila baris data dalam jadual berubah, seperti memadamkan baris rekod, pencetus akan dilaksanakan secara automatik.

2. Sintaks Pencetus

Sintaks Pencetus:

create [or replace] tigger 触发器名 触发时间 触发事件
on 表名
[for each row]
begin
 pl/sql语句
end
Salin selepas log masuk

Antaranya:

  • Pencetus nama: Nama objek pencetus. Oleh kerana pencetus dilaksanakan secara automatik oleh pangkalan data, nama itu hanyalah nama dan tidak mempunyai tujuan sebenar.

  • Masa pencetus: Nyatakan bila pencetus dilaksanakan Nilai boleh diterima:

  • sebelum: Menunjukkan bahawa pencetus dilaksanakan sebelum pangkalan data. tindakan;

  • selepas: Menunjukkan bahawa pencetus dilaksanakan selepas tindakan pangkalan data.

  • Peristiwa pencetus: Nyatakan tindakan pangkalan data yang akan mencetuskan pencetus ini:

  • sisipan: Sisipan pangkalan data akan mencetuskan pencetus ini; >

  • kemas kini: Pengubahsuaian pangkalan data akan mencetuskan pencetus ini;
  • Nama jadual: Jadual tempat pencetus pangkalan data berada.
  • untuk setiap baris: Laksanakan pencetus sekali untuk setiap baris jadual. Tanpa pilihan ini, ia dilaksanakan sekali sahaja untuk keseluruhan jadual.
  • Pencetus boleh melaksanakan fungsi berikut:
  • Fungsi:

  • 1. Benarkan/hadkan pengubahsuaian pada jadual

2 jana lajur terbitan, seperti medan kenaikan automatik

3. Kuatatkan ketekalan data

4. Menyediakan pengauditan dan pengelogan

5 >6. Dayakan logik perniagaan yang kompleks

Contoh

1) Pencetus berikut dicetuskan sebelum mengemas kini jadual tb_emp, untuk tidak membenarkan jadual diubah suai pada hujung minggu:

2) Gunakan pencetus untuk melaksanakan kenaikan automatik nombor siri

Buat jadual ujian:

Buat urutan:

create or replace trigger auth_secure before insert or update or DELETE
on tb_emp
begin
  IF(to_char(sysdate,'DY')='星期日') THEN
    RAISE_APPLICATION_ERROR(-20600,'不能在周末修改表tb_emp');
  END IF;
END;
/
Salin selepas log masuk
Salin kod sebagai berikut:

Buat pencetus:

create table tab_user(
  id number(11) primary key,
  username varchar(50),
  password varchar(50)
);
Salin selepas log masuk

Masukkan data ke dalam jadual:

Hasil jadual pertanyaan: SELECT * FROM TAB_USER;
create sequence my_seq increment by 1 start with 1 nomaxvalue nocycle cache 20;
Salin selepas log masuk

Tutorial yang disyorkan: "

Tutorial Video Oracle
CREATE OR REPLACE TRIGGER MY_TGR
 BEFORE INSERT ON TAB_USER
 FOR EACH ROW--对表的每一行触发器执行一次
DECLARE
 NEXT_ID NUMBER;
BEGIN
 SELECT MY_SEQ.NEXTVAL INTO NEXT_ID FROM DUAL;
 :NEW.ID := NEXT_ID; --:NEW表示新插入的那条记录
END;
Salin selepas log masuk
"

Atas ialah kandungan terperinci Bagaimana untuk menulis pencetus oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memeriksa saiz meja oracle Cara memeriksa saiz meja oracle Apr 11, 2025 pm 08:15 PM

Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Cara menyulitkan pandangan oracle Cara menyulitkan pandangan oracle Apr 11, 2025 pm 08:30 PM

Penyulitan Oracle View membolehkan anda menyulitkan data dalam pandangan, dengan itu meningkatkan keselamatan maklumat sensitif. Langkah -langkah termasuk: 1) mewujudkan kunci penyulitan induk (MEK); 2) mencipta pandangan yang disulitkan, menyatakan pandangan dan MEK untuk disulitkan; 3) Memberi kuasa pengguna untuk mengakses pandangan yang disulitkan. Bagaimana pandangan yang disulitkan berfungsi: Apabila permintaan pengguna untuk paparan yang disulitkan, Oracle menggunakan MEK untuk menyahsulit data, memastikan bahawa hanya pengguna yang diberi kuasa dapat mengakses data yang boleh dibaca.

Cara melihat contoh nama oracle Cara melihat contoh nama oracle Apr 11, 2025 pm 08:18 PM

Terdapat tiga cara untuk melihat nama contoh di Oracle: Gunakan "sqlplus" dan "pilih instance_name dari v $ instance;" Perintah pada baris arahan. Gunakan "pertunjukan instance_name;" Perintah dalam SQL*Plus. Semak Pembolehubah Alam Sekitar (ORACLE_SID pada Linux) melalui Pengurus Tugas Sistem Operasi, Pengurus Oracle Enterprise, atau melalui sistem operasi.

Cara menyahpasang pemasangan Oracle gagal Cara menyahpasang pemasangan Oracle gagal Apr 11, 2025 pm 08:24 PM

Nyahpasang Kaedah untuk kegagalan pemasangan Oracle: Tutup Perkhidmatan Oracle, Padam Fail Program Oracle dan Kekunci Pendaftaran, Nyahpasang pembolehubah persekitaran Oracle, dan mulakan semula komputer. Jika penyahpasang gagal, anda boleh menyahpasang secara manual menggunakan alat penyahpasang Oracle Universal.

Cara menyelesaikan masalah penutup kursor oracle Cara menyelesaikan masalah penutup kursor oracle Apr 11, 2025 pm 10:18 PM

Kaedah untuk menyelesaikan masalah penutupan kursor Oracle termasuk: secara eksplisit menutup kursor menggunakan pernyataan Tutup. Mengisytiharkan kursor dalam klausa kemas kini supaya ia ditutup secara automatik selepas skop berakhir. Mengisytiharkan kursor dalam klausa menggunakan supaya ia secara automatik ditutup apabila pembolehubah PL/SQL yang berkaitan ditutup. Gunakan pengendalian pengecualian untuk memastikan kursor ditutup dalam keadaan pengecualian. Gunakan kolam sambungan untuk menutup kursor secara automatik. Lumpuhkan penyerahan automatik dan penangguhan kursor kelewatan.

Cara memeriksa nombor oracle yang tidak sah Cara memeriksa nombor oracle yang tidak sah Apr 11, 2025 pm 08:27 PM

Kesalahan angka Oracle tidak sah mungkin disebabkan oleh jenis data yang tidak sepadan, limpahan angka, kesilapan penukaran data, atau rasuah data. Langkah -langkah penyelesaian masalah termasuk memeriksa jenis data, mengesan limpahan digital, memeriksa penukaran data, memeriksa rasuah data, dan meneroka penyelesaian lain yang mungkin seperti mengkonfigurasi parameter NLS_NUMERIC_CHARACTERS dan membolehkan pembalakan pengesahan data.

Cara memadam semua data dari oracle Cara memadam semua data dari oracle Apr 11, 2025 pm 08:36 PM

Memadam semua data dalam Oracle memerlukan langkah -langkah berikut: 1. Mewujudkan sambungan; 2. Lumpuhkan kekangan utama asing; 3. Padam data jadual; 4. Mengemukakan transaksi; 5. Membolehkan kekangan utama asing (pilihan). Pastikan untuk menyokong pangkalan data sebelum pelaksanaan untuk mengelakkan kehilangan data.

Cara membuat kursor di Oracle Loop Cara membuat kursor di Oracle Loop Apr 12, 2025 am 06:18 AM

Di Oracle, gelung gelung boleh membuat kursor secara dinamik. Langkah -langkahnya ialah: 1. Tentukan jenis kursor; 2. Buat gelung; 3. Buat kursor secara dinamik; 4. Melaksanakan kursor; 5. Tutup kursor. Contoh: Kursor boleh dibuat kitaran demi litar untuk memaparkan nama dan gaji 10 pekerja teratas.

See all articles