sql >> Database >  >> RDS >> Sqlserver

SQL Server 2008 - Bij invoegen/bijwerken Trigger die waarden naar een andere tabel kopieert?

Heel simpel...

CREATE TRIGGER TRG_Tasks_UI ON Tasks FOR INSERT,UPDATE
AS
SET XACT_ABORT, NOCOUNT ON

--Ignore zero row updates, inserts
IF NOT EXISTS (SELECT * FROM INSERTED) RETURN;

BEGIN TRY
    INSERT TasksHistory
       (col1, col2, ...)
    SELECT
       I.*
    FROM
       INSERTED I
       LEFT JOIN
       DELETED D ON I.key = D.Key
    WHERE
       D.Key IS NULL --insert only
       OR -- need null handling here
       I.col1 <> D.col1 OR I.col2 <> D.col2 OR ...;
END TRY
BEGIN CATCH
   IF XACT_STATE() <> 0 ROLLBACK TRANSACTION
    RAISERROR [rethrow caught error using @ErrorNumber, @ErrorMessage, etc]
END CATCH
GO



  1. Waarom is PHP PDO DSN een ander formaat voor MySQL dan voor PostgreSQL?

  2. Kopieer van csv naar tabel met id seriële kolom automatisch verhogend PSQL

  3. Protocollen voor SQL Server-netwerkconfiguratie niet beschikbaar

  4. MariaDB verkeerde volgorde maar correct in MySQL