Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bandingkan tabel yang dihapus dan dimasukkan di SQL Server 2008

Saya tidak yakin, apa tujuan Anda, saya pikir mungkin seperti ini. Katakanlah kita memiliki tabel seperti ini:

CREATE TABLE Product
(
     ID      INT                   PRIMARY KEY,
     Name    NVARCHAR(100)         NOT NULL,
     Price   DECIMAL(10,2)         NOT NULL
);

dan beberapa tabel audit seperti ini:

CREATE TABLE ProductAudit
(
     AuditID      INT                   IDENTITY PRIMARY KEY, 
     ProductID    INT                   NOT NULL
     OldName      NVARCHAR(100)         NULL,
     OldPrice     DECIMAL(10,2)         NULL,
     NewName      NVARCHAR(100)         NULL,
     NewPrice     DECIMAL(10,2)         NULL
);

Kemudian Anda membuat pemicu:

CREATE TRIGGER TR_AUDIT
ON Product
FOR INSERT, UPDATE, DELETE
AS
BEGIN
       INSERT INTO ProductAudit (ProductID, OldName, OldPrice, NewName, NewPrice)
       SELECT 
           COALESCE(I.ID, D.ID),
           D.Name,
           D.Price,
           I.Name,
           I.Price
       FROM 
           INSERTED I FULL OUTER JOIN DELETED D ON I.ID = D.ID;
END
GO

Itu dia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan koneksi SQL intermiten yang aneh, perbaikan saat reboot, kembali setelah 3-5 hari (ASP.NET)

  2. Bagaimana cara mengurangi ukuran file log server sql saya?

  3. Menyimpan HTML di SQL Server

  4. Pembaruan SQL, kueri yang sama, hasil yang berbeda setiap kali

  5. Bagaimana cara mendapatkan daftar Tanggal Mulai Minggu (Senin) dan Tanggal Akhir (Minggu) di antara dua tanggal?