Sqlserver
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да откриете изчакване на sql сървъра от .NET приложение, без да използвате catch Exception

  2. Групиране по колона и множество редове в един ред множество колони

  3. Как да съхранявам десетични стойности в SQL Server?

  4. Отстраняване на грешки в съхранена процедура в SQL Server 2008

  5. Може ли таблица на sql сървър да има две колони за идентичност?