sql >> Database >  >> RDS >> Sqlserver

T-SQL hoe de waarde te wijzigen voordat deze wordt ingevoegd

Kortom, met een INSTEAD OF INSERT trigger, kunt u bereiken wat u zoekt - lees gewoon de gegevens uit de INSERTED pseudo-tabel, wijzig het en voeg het in de tabel in

Dus je trigger ziet er ongeveer zo uit:

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

Je kunt natuurlijk ook bijv. controles in de vorm van WHERE clausule toe aan die SELECT .... FROM INSERTED verklaring naar bijv. negeer bepaalde rijen - de mogelijkheden zijn eindeloos!




  1. Wizard Entiteitsgegevensmodel crasht met Oracle Connection

  2. Een veilige PHP-klasse die verbinding maakt met MySQL?

  3. Oracle ORA-30004 bij gebruik van de functie SYS_CONNECT_BY_PATH,

  4. STRING_AGG() Functie in PostgreSQL