Rumah >pangkalan data >tutorial mysql >Bagaimanakah Pencetus SQL Server 2008 Memastikan Integriti Data Pekerja dalam Jadual Hasil Pekerja?

Bagaimanakah Pencetus SQL Server 2008 Memastikan Integriti Data Pekerja dalam Jadual Hasil Pekerja?

Susan Sarandon
Susan Sarandonasal
2024-12-23 20:36:23507semak imbas

How Can a SQL Server 2008 Trigger Ensure Employee Data Integrity in an EmployeeResult Table?

Menggunakan Pencetus untuk Memastikan Kewujudan Pekerja dalam Jadual Hasil Pekerja

SQL Server 2008 menawarkan mekanisme yang berkuasa untuk menguatkuasakan integriti data dan mengekalkan kekangan rujukan melalui pencetus. Artikel ini membimbing anda membuat pencetus INSERT ringkas pada jadual EmployeeResult untuk menangani kebimbangan konsistensi data biasa.

Memahami Masalah

Matlamat pencetus adalah untuk memastikan bahawa setiap operasi INSERT pada jadual EmployeeResult disertakan dengan entri yang sepadan dalam jadual Pekerja, memautkan nama pekerja dan jabatan. Jika pekerja sedia ada tidak ditemui, pencetus memasukkan data yang diperlukan ke dalam jadual Pekerja.

Membuat Pencetus

Untuk mencapainya, kami menggunakan disisipkan jadual logik, yang mewakili data yang dimasukkan ke dalam jadual EmployeeResult. Pelaksanaan pencetus berikut mencapai tingkah laku yang diingini:

CREATE TRIGGER [trig_Update_Employee]
ON [EmployeeResult]
FOR INSERT
AS
BEGIN
    INSERT INTO [Employee] (Name, Department)
    SELECT DISTINCT i.name, i.Department
    FROM inserted AS i
    LEFT JOIN Employee e
    ON i.Name = e.Name AND i.Department = e.Department
    WHERE e.Name IS NULL;
END

Menjelaskan Penyelesaian

  • Baris 1: Nama pencetus diisytiharkan sebagai [trig_Update_Employee].
  • Barisan 2: Pencetus digunakan pada jadual [EmployeeResult].
  • Baris 3: Pencetus dilaksanakan apabila INSERT berlaku pada jadual.
  • Baris 5: Kami menggunakan dimasukkan jadual logik dan DISTINCT untuk mengelakkan entri pendua.
  • Baris 6-8: Kami melakukan LEFT JOIN dengan jadual Pekerja untuk mengenal pasti pekerja dan jabatan yang hilang.

Manfaat daripada Pencetus

  • Memastikan integriti data dengan mengekalkan integriti rujukan antara jadual EmployeeResult dan Employee.
  • Memudahkan kemasukan data dengan menambahkan pekerja baharu secara automatik pada jadual Pekerja, mengurangkan potensi ralat .
  • Meningkatkan ketekalan data dengan menjamin pekerja tersebut maklumat terdapat dalam kedua-dua jadual.

Atas ialah kandungan terperinci Bagaimanakah Pencetus SQL Server 2008 Memastikan Integriti Data Pekerja dalam Jadual Hasil 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