sql trigger function example

Example 1: CREATE trigger SQL

-- Oracle DB Syntax
CREATE OR REPLACE TRIGGER {trigger_name} 
BEFORE | AFTER 
INSERT | UPDATE | DELETE 
ON {table_name}
(FOR EACH ROW) 
{operation to be executed}

-- for example
CREATE TRIGGER log_updates 
AFTER INSERT OR UPDATE ON Person
FOR EACH ROW 
INSERT INTO LogPerson(ts, IdPerson, surname)
VALUES(CURRENT_TIMESTAMP, NEW.id, NEW.surname);

Example 2: Trigger Sql server

CREATE TRIGGER production.trg_product_audit
ON production.products
AFTER INSERT, DELETE
AS
BEGIN
    SET NOCOUNT ON;
    INSERT INTO production.product_audits(
        product_id, 
        product_name,
        brand_id,
        category_id,
        model_year,
        list_price, 
        updated_at, 
        operation
    )
    SELECT
        i.product_id,
        product_name,
        brand_id,
        category_id,
        model_year,
        i.list_price,
        GETDATE(),
        'INS'
    FROM
        inserted i
    UNION ALL
    SELECT
        d.product_id,
        product_name,
        brand_id,
        category_id,
        model_year,
        d.list_price,
        GETDATE(),
        'DEL'
    FROM
        deleted d;
END
Code language: SQL (Structured Query Language) (sql)

Tags:

Sql Example