sql >> データベース >  >> RDS >> Sqlserver

T-SQL挿入前に値を変更する方法

    基本的に、INSTEAD OF INSERT を使用して トリガー、あなたが探しているものを達成することができます - INSERTED からデータを読み取るだけです 疑似テーブルを作成し、それを変更して、テーブルに挿入します

    したがって、トリガーは次のようになります。

    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
      

    もちろん、次のように追加することもできます。 WHERE の形式でチェックします その SELECT .... FROM INSERTED に対する句 例へのステートメント特定の行を無視 - 可能性は無限大!




    1. Spring、MySQL、Hibernate:システムが8時間以内に使用されない場合のデータベースエラー

    2. SQL構文のエラー..「キー」の近く

    3. MariaDBのバグ?壊れた脱出のように

    4. スーパーキー、候補キー、主キー