Rumah >pangkalan data >tutorial mysql >Bagaimanakah Pelayan SQL Boleh Mencetuskan Memastikan Integriti Data Apabila Memasukkan Rekod Pekerja?

Bagaimanakah Pelayan SQL Boleh Mencetuskan Memastikan Integriti Data Apabila Memasukkan Rekod Pekerja?

Barbara Streisand
Barbara Streisandasal
2024-12-23 20:06:13396semak imbas

How Can SQL Server Triggers Ensure Data Integrity When Inserting Employee Records?

Memasukkan Rekod Pekerja Baharu dengan Pencetus Pelayan SQL

Dalam SQL Server 2008, mengurus perhubungan antara jadual adalah penting untuk integriti data. Pertimbangkan kes dua jadual, Employee dan EmployeeResult. Untuk memastikan setiap baris yang dimasukkan ke dalam EmployeeResult mempunyai rekod yang sepadan dalam Employee, pencetus INSERT yang mudah diperlukan.

Definisi Pencetus

Pencetus INSERT, bernama trig_Update_Employee, harus melaksanakan perkara berikut tugasan:

  • Lelaran pada setiap baris yang dimasukkan ke dalam EmployeeResult
  • Semak sama ada pekerja dengan nama dan jabatan yang sama wujud dalam Pekerja
  • Jika pekerja itu tidak wujud, masukkan rekod baru ke dalam Pekerja dengan yang sepadan nilai

Pelaksanaan Pencetus

Untuk melaksanakan pencetus ini, gunakan jadual logik yang disisipkan yang menyediakan akses kepada baris yang disisipkan. Takrif pencetus berikut memenuhi keperluan yang dinyatakan:

CREATE TRIGGER trig_Update_Employee
ON [EmployeeResult]
FOR INSERT
AS
Begin
    Insert into Employee (Name, Department) 
    Select Distinct i.Name, i.Department 
    from Inserted i
    Left Join Employee e
    on i.Name = e.Name and i.Department = e.Department
    where e.Name is null
End

Fungsi Pencetus

  • Pencetus dilaksanakan apabila satu baris dimasukkan ke dalam EmployeeResult.
  • Jadual yang disisipkan menyediakan cara untuk mengakses baris yang disisipkan data.
  • Pencetus menggunakan LEFT JOIN untuk menyemak sama ada pekerja dengan nama dan jabatan yang sama wujud dalam jadual Pekerja.
  • Jika tiada pekerja yang sepadan ditemui, rekod baharu akan dimasukkan ke dalam Pekerja dengan maklumat yang sepadan daripada baris yang disisipkan.
  • Pencetus memastikan bahawa jadual Pekerja mengandungi semua maklumat pekerja yang diperlukan untuk mengekalkan ketekalan data.

Atas ialah kandungan terperinci Bagaimanakah Pelayan SQL Boleh Mencetuskan Memastikan Integriti Data Apabila Memasukkan Rekod Pekerja?. 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