Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menulis Pencetus INSERT dalam SQL Server 2008 untuk Memastikan Integriti Data Pekerja?

Bagaimana untuk Menulis Pencetus INSERT dalam SQL Server 2008 untuk Memastikan Integriti Data Pekerja?

Patricia Arquette
Lepaskan: 2024-12-27 04:00:10
asal
570 orang telah melayarinya

How to Write an INSERT Trigger in SQL Server 2008 to Ensure Employee Data Integrity?

Menulis Pencetus INSERT dalam SQL Server 2008: Mencetuskan Sisipan Maklumat Pekerja

Dalam SQL Server 2008, anda boleh menggunakan pencetus untuk melakukan tindakan tertentu apabila data diubah suai dalam jadual. Satu senario sedemikian ialah memastikan kewujudan maklumat pekerja dalam jadual Pekerja apabila dimasukkan ke dalam jadual EmployeeResult.

Untuk mencipta pencetus yang memasukkan rekod pekerja apabila ia tiada dalam jadual Pekerja:

CREATE TRIGGER trig_Update_Employee
ON [EmployeeResult]
FOR INSERT
AS
BEGIN
  -- Retrieve the inserted row data
  SELECT *
  INTO #InsertedRows
  FROM INSERTED;

  -- Check if the inserted employee exists in the Employee table
  SELECT COUNT(*)
  INTO #EmployeeCount
  FROM Employee
  WHERE Name IN (SELECT Name FROM #InsertedRows)
    AND Department IN (SELECT Department FROM #InsertedRows);

  -- Insert missing employee records
  IF #EmployeeCount < 1
  BEGIN
    -- Dynamically generate the INSERT statement based on the inserted rows
    DECLARE @InsertStatement NVARCHAR(MAX) = 'INSERT INTO Employee (Name, Department) VALUES ';
    SELECT @InsertStatement += '("" + Name + "", ""' + Department + '"")'
    FROM #InsertedRows;

    -- Execute the dynamic INSERT statement
    EXEC sp_executesql @InsertStatement;
  END;
END;
Salin selepas log masuk

Pencetus ini menggunakan jadual pseudo INSERTED untuk mengakses data yang dimasukkan. Ia mula-mula menyemak sama ada nama pekerja dan pasangan jabatan sudah wujud dalam jadual Pekerja menggunakan pertanyaan COUNT(*). Jika tidak, ia menjana pernyataan INSERT secara dinamik menggunakan klausa VALUES berdasarkan baris yang disisipkan. Akhir sekali, ia melaksanakan pernyataan INSERT untuk memasukkan maklumat pekerja yang hilang.

Dengan melaksanakan pencetus ini, anda boleh memastikan bahawa setiap sisipan EmployeeResult menghasilkan kewujudan data pekerja yang sepadan dalam jadual Pekerja, memastikan integriti dan kesempurnaan data .

Atas ialah kandungan terperinci Bagaimana untuk Menulis Pencetus INSERT dalam SQL Server 2008 untuk Memastikan Integriti Data Pekerja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan