Torna al Thread
ALTER TRIGGER [dbo].[TRGUPD_TA_APPARATO]
ON [dbo].[TA_APPARATO]
AFTER UPDATE
AS
BEGIN
DECLARE @V_COUNT INT
--MODIFICATO...IMPEDISCO L'UPDATE SE SI STA CERCANDO DI MODIFICARE L'ID_TIPO_APPARATO
--DI UN APPARATO ASSOCIATO (QUINDI...PRESENTE NELLA APPARATO_APPARATO_ASSOCIATO)
SELECT @V_COUNT=COUNT(*)
FROM dbo.APPARATO_APPARATO_ASSOCIATO INNER JOIN
INSERTED ON dbo.APPARATO_APPARATO_ASSOCIATO.ID_SISTEMA = INSERTED.ID_SISTEMA AND
dbo.APPARATO_APPARATO_ASSOCIATO.ID_APPARATO = INSERTED.ID_APPARATO INNER JOIN
DELETED ON dbo.APPARATO_APPARATO_ASSOCIATO.ID_SISTEMA = DELETED.ID_SISTEMA AND
dbo.APPARATO_APPARATO_ASSOCIATO.ID_APPARATO = DELETED.ID_APPARATO
WHERE DELETED.ID_TIPO_APPARATO <> INSERTED.ID_TIPO_APPARATO
IF @V_COUNT>0
BEGIN
--SI STA CERCANDO DI MODIFICARE TIPI APPARATO DI APPARATI
--PRESENTI NELLA APPARATO_APPARATO_ASSOCIATO...ROLLBACK
RAISERROR (50001,18,1,'TRGUPD_TA_APPARATO','IMPOSSIBILE MODIFICARE LA TIPOLOGIA DI UN APPARATO ASSOCIATO AD UN ALTRO APPARATO')
ROLLBACK TRANSACTION
END
ELSE
BEGIN
--FAI QUELLO CHE HAI SEMPRE FATTO
END
END