Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2005 – Festlegen einer Spalte als schreibgeschützt

Sie können ein schreibgeschütztes Feld implementieren, indem Sie einen UPDATE-Trigger erstellen, der nach Aktualisierungen für diese Spalte sucht und diese dann rückgängig macht.

IF EXISTS (SELECT name FROM sys.objects
      WHERE name = 'ReadOnlyInsertTime_tr' AND type = 'TR')
   DROP TRIGGER dbo.ReadOnlyInsertTime_tr;
GO

CREATE TRIGGER ReadOnlyInsertTime_tr
ON dbo.MyTable
AFTER UPDATE 
AS 
IF (UPDATE(InsertTime))
BEGIN
ROLLBACK
-- Raise an informative error
-- RAISERROR (50009, 16, 10)
END;
GO