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

Pemicu riwayat tabel di SQL Server?

Jika setiap pengguna memiliki akun, Anda dapat menggunakan SYSTEM_USER berfungsi untuk menentukan pengguna saat ini. Namun, jika semua koneksi Anda melalui akun proxy, seperti yang biasa dilakukan di sebagian besar penyiapan situs web, maka Anda harus mengandalkan ID pengguna yang tepat yang diteruskan ke pernyataan Pembaruan:

CREATE TRIGGER [update_history] ON MyTable
FOR UPDATE
AS
INSERT MyTable_History (id, BudgetNumber, PositionNumber, ModifiedDate, action, userId)
SELECT id, BudgetNumber, PositionNumber, GETDATE(), 'BEFORE UPDATE', inserted.userId
FROM MyTable
    Join inserted
        On inserted.id = MyTable.id

INSERT MyTable_History (id, BudgetNumber, PositionNumber, ModifiedDate, action, userId)
SELECT id, BudgetNumber, PositionNumber, GETDATE(), 'AFTER UPDATE', userId
FROM inserted


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Membuat Database di SQL Server

  2. Cara menggunakan UPDATE dari SELECT di SQL Server

  3. Ekspresi Reguler di server SQL Server?

  4. Sumber daya apa yang tersedia untuk penyetelan kinerja Database?

  5. Bagaimana cara meminta nilai dan atribut Xml dari tabel di SQL Server?