sql >> Database teknologi >  >> RDS >> Sqlserver

T-SQL hvordan man ændrer værdien før indsættelse

Grundlæggende med en INSTEAD OF INSERT trigger, kan du opnå det, du leder efter - bare læs dataene fra INSERTED pseudo-tabel, modificer den og indsæt den i tabellen

Så din trigger ville se sådan ud:

CREATE TRIGGER YourTrigger ON dbo.YourTable    
INSTEAD OF INSERT
AS
    SET NOCOUNT ON

    -- do the INSERT based on the INSERTED pseudo table, modify data as needed
    INSERT INTO dbo.YourTable(Col1, Col2, ....., ColN)
      SELECT 
          Col1, 2 * Col2, ....., N * ColN
      FROM 
          INSERTED

Man kunne selvfølgelig også tilføje f.eks. checks i form af WHERE klausul til den SELECT .... FROM INSERTED erklæring til f.eks. ignorer visse rækker - mulighederne er uendelige!




  1. mysql:opdel varchar-værdi og indsæt dele

  2. Brug af Workbench til at oprette forbindelse til ekstern MySQL-server via SSH-tunnel

  3. Hvis der er en måde, jeg indre kan forbinde en MS SQL-tabel til en MySql-tabel i en forespørgsel ved hjælp af MySql?

  4. Hvordan kan jeg lave fatale fejl i ALLE mysql-advarsler?