sql >> Databáze >  >> RDS >> Sqlserver

T-SQL, jak upravit hodnotu před vložením

V podstatě s INSTEAD OF INSERT spouštěče, můžete dosáhnout toho, co hledáte – stačí přečíst data z INSERTED pseudo tabulku, upravte ji a vložte ji do tabulky

Takže váš spouštěč by vypadal nějak takto:

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

Samozřejmě můžete přidat např. kontroly ve tvaru WHERE klauzule k tomuto SELECT .... FROM INSERTED prohlášení např. ignorujte určité řádky – možnosti jsou nekonečné!




  1. Otázka výkonu podvýběru MySQL?

  2. MySql - SELECT TimeStamp Column ve formátu UTC

  3. Můžeme použít rámec Meteor s databází mysql

  4. Jak aplikovat funkci na hodnotu klauzule where pomocí Knex?