Как настроить триггер для представления в SQL-сервере, который вводит / обновляет данные столбца в таблицу? - PullRequest
0 голосов
/ 21 сентября 2018

Извините, что не располагаю большой информацией по этому вопросу, но я все еще изучаю SQL и буду признателен за любую помощь.

Я бы хотел настроить триггер для представления, которое активируется после обновленияили вставьте, а затем обновите определенный столбец в другой таблице.Единственные методы, которые у меня есть для объединения этих двух наборов данных, - это дата и имя человека.В противном случае они не передают никакой другой информации.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Это то, что я нашел для работы, спасибо за любую помощь, которую вы оказали.Это может быть не идеально, поэтому, если есть какие-либо советы, не стесняйтесь комментировать.

CREATE TRIGGER triggername
ON TABLE1
AFTER INSERT, UPDATE
AS 
BEGIN
DECLARE @INS NVARCHAR(50)
SELECT @INS = NAMECOLUMN FROM INSERTED
WHERE DESCRIPTION = 'BRIEF DESCRIPTION' 
END
IF @INS = ‘Last, First’

BEGIN

UPDATE TABLE1
SET DESTINATIONCOLUMN  =  EXAMPLE.CT

FROM (SELECT COUNT(*) AS CT FROM TABLE2 WHERE NAMECOLUMN = ‘Last, First’) EXAMPLE
WHERE DESCRIPTION = 'BRIEF DESCRIPTION' AND NAMECOLUMN = ‘Last, First’
END
BEGIN
0 голосов
/ 21 сентября 2018

TRIGGER

USE [DATABASENAME]
GO

CREATE TRIGGER [TRIGGERNAME] ON [VIEWNAME] 
INSTEAD OF INSERT, UPDATE, DELETE 
AS 

IF @@ROWCOUNT = 0 -- exit trigger
    RETURN;

IF EXISTS(SELECT * FROM inserted)
BEGIN
    IF EXISTS(SELECT * FROM deleted)
        -- to update in another table
        UPDATE a
        SET a.xyz = i.xyz
        FROM another_table a
        INNER JOIN inserted i
        ON a.column = i.column
    ELSE
        -- to insert in another table
        INSERT INTO [dbo].[another_table]
        SELECT * FROM inserted
END
ELSE
BEGIN
    -- to delete from another table
    DELETE a
    FROM another_table a
    INNER JOIN deleted d
    ON a.column = d.column  
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...