Sisipkan Trigger untuk SQL Server 2008
Dalam SQL Server 2008, anda boleh menghadapi senario di mana anda perlu memasukkan data ke dalam jadual EmployeeResult dan memastikan bahawa mana-mana pasangan pekerja-jabatan yang hilang dalam jadual Pekerja ditambah secara automatik. Untuk mencapainya, anda boleh memanfaatkan pencetus INSERT.
Untuk menentukan pencetus ini, pertimbangkan langkah berikut:
CREATE TRIGGER trig_Update_Employee ON [EmployeeResult] FOR INSERT AS
IF EXISTS (SELECT COUNT(*) FROM Employee WHERE ???)
Dalam baris ini, anda perlu menentukan syarat yang menyemak sama ada pasangan jabatan pekerja wujud dalam jadual Pekerja. Pemegang tempat ??? perlu digantikan dengan klausa yang membandingkan data yang dimasukkan dengan jadual Pekerja.
BEGIN INSERT INTO [Employee] (Name, Department) VALUES (???, ???) END
Begitu juga, pemegang tempat ini ??? perlu diisi dengan ungkapan yang mengekstrak Nama dan Jabatan daripada data yang dimasukkan.
Pencetus yang lengkap mungkin kelihatan sesuatu seperti ini:
CREATE TRIGGER trig_Update_Employee ON [EmployeeResult] FOR INSERT AS IF EXISTS (SELECT COUNT(*) FROM Employee WHERE Name = i.Name AND Department = i.Department) BEGIN INSERT INTO [Employee] (Name, Department) VALUES (i.Name, i.Department) END
Dalam contoh ini, data yang dimasukkan diwakili oleh alias "i" dan pemeriksaan keadaan untuk kewujudan pasangan pekerja-jabatan dalam jadual Pekerja. Jika ia tidak wujud, rekod baharu akan dimasukkan ke dalam jadual Pekerja.
Dengan melaksanakan pencetus ini, anda boleh memastikan bahawa setiap kali operasi INSERT berlaku dalam jadual EmployeeResult, mana-mana pasangan pekerja-jabatan yang hilang secara automatik ditambahkan pada jadual Pekerja, mengekalkan integriti data dan menghapuskan campur tangan manual.
Atas ialah kandungan terperinci Bagaimana untuk Mengisi Jadual Pekerja Secara Automatik Menggunakan SQL Server 2008 INSERT Trigger?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!