Torna al Thread
create TRIGGER @db_user.ModCountDocInMngrTbl
ON DPA_OGGETTI_CUSTOM
AFTER Update AS
-- Eliminazione dei riferimenti del repertorio dall'anagrafica
DECLARE @NEW_SYSTEM_ID VARCHAR(255)
DECLARE @NEW_REPERTORIO VARCHAR(255)
DECLARE @NEW_CHA_TIPO_TAR VARCHAR(255)
DECLARE @Cursor_for_new CURSOR
SET @Cursor_for_new = CURSOR FOR SELECT system_id, repertorio, cha_tipo_tar FROM inserted
OPEN @Cursor_for_new
FETCH NEXT FROM @Cursor_for_new INTO @NEW_SYSTEM_ID,@NEW_REPERTORIO,@NEW_CHA_TIPO_TAR
WHILE @@FETCH_STATUS = 0
begin
DECLARE @idTipologia INT
IF (@NEW_REPERTORIO != old.repertorio Or @NEW_CHA_TIPO_TAR != old.cha_tipo_tar)
begin
EXECUTE @db_user.DeleteRegistroRepertorio @NEW_SYSTEM_ID
Select @idTipologia = ta.system_id
From dpa_tipo_atto ta
Inner Join dpa_ogg_custom_comp occ
On ta.system_id = occ.id_template
Where occ.id_ogg_custom = @NEW_SYSTEM_ID
-- Se è stato cambiato lo stato del flag repertorio, viene ed è stato passato
-- ad 1, viene eseguito l'inserimento di un riferimento nell'anagrafica
If @NEW_REPERTORIO = '1'
EXECUTE @db_user.InsertRegistroRepertorio @idTipologia,@NEW_SYSTEM_ID,@NEW_CHA_TIPO_TAR,'D'
end
FETCH NEXT FROM @Cursor_for_new INTO @NEW_SYSTEM_ID,@NEW_REPERTORIO,@NEW_CHA_TIPO_TAR
end
CLOSE @Cursor_for_new
GO