> Tech > Déclencheur pour capture des DELETE

Déclencheur pour capture des DELETE

Tech - Par iTPro - Publié le 24 juin 2010
email

Il n'est guère plus compliqué que le précédent : voir listing 7. Et peut, comme précédemment, être créé dynamiquement dans la foulée de la table d'historisation dans le déclencheur DDL : voir listing 8. Dans le cas où l'on aurait choisit de ne pas tenir compte des évolutions du schéma

Déclencheur pour capture des DELETE

des tables traquées, alors il conviendrait de modifier les déclencheurs afin que soient spécifiées de manière exhaustive les colon – nes cibles dans les insertions des tables d’historisation.

Listing 7
CREATE TRIGGER dbo.E_D_CLI
ON dbo.T_CLIENT_CLI
FOR DELETE
AS
BEGIN
INSERT INTO DB_HST_LIGNE.dbo.T_CLIENT_CLI (_MA, _MD, CLI_ID,
CLI_NOM, CLI_PRENOM)
SELECT client_net_address, ‘D’, d.*
FROM deleted d
CROSS JOIN sys.dm_exec_connections
WHERE session_id = @@SPID
END

Listing 8
SET @SQL = ‘CREATE TRIGGER E_D_’ + SUBSTRING(@TAB, LEN(@TAB) -2, 3) +
‘ ON ‘ + @SCH + ‘.’ + @TAB +
‘ FOR DELETE AS SET NOCOUNT ON BEGIN INSERT INTO DB_HST_LIGNE.’
+ @SCH + ‘.’ + @TAB + ‘ (_MA, _MD, ‘;
SELECT @SQL = @SQL + COLUMN_NAME + ‘, ‘
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @SCH
AND TABLE_NAME = @TAB;
SET @SQL = SUBSTRING(@SQL, 1, LEN(@SQL) – 1) + ‘) ‘+
‘SELECT client_net_address,  »D », d.* ‘ +
‘FROM deleted d ‘ +
‘CROSS JOIN sys.dm_exec_connections ‘ +
‘WHERE session_id = @@SPID ‘ +
‘END ‘
EXEC (@SQL);

Téléchargez cette ressource

Une DSI « broker de services » ? Recettes de Scale-ups à l’usage des grandes entreprises

Une DSI « broker de services » ? Recettes de Scale-ups à l’usage des grandes entreprises

Découvrez dans ce carnet d’expériences les conseils et bonnes pratiques de DSI et CTO d'organisations qui ont mené et mènent leur transformation pour devenir des brokers de services accomplis. Choix technologiques et organisationnels, types de services apportés, vitesse du changement, rapport aux métiers… ils détaillent la nature et les potentiels écueils de cette métamorphose.

Tech - Par iTPro - Publié le 24 juin 2010