Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Comment automatiser la modification de structure d'une table pour toutes les bases de données d'une configuration multi-dossiers ?

0000003240     -      06/08/2024

Ce script SQL montre comment ajouter une colonne (C_AJOUT) dans toutes les tables CLI des différentes bases de données de la configuration multi-dossiers de Mercator. Il doit être exécuté à partir des outils clients de SQL Server.

 

declare @dbname varchar(100), @query nvarchar(250)
declare cursorDb cursor local for select name from master.sys.databases where name like 'MERCATOR%' and not name like 'MERCATOR_MASTER%'
open cursorDb
fetch next from cursorDb into @dbname
while @@FETCH_STATUS = 0
BEGIN
set @query = 'use ' + @dbname + ';'
+ 'if dbo.FIELD_EXISTS(''CLI'',''C_AJOUT'') = 0 '
+ 'alter table CLI add C_AJOUT char(10) not null default '''';'
exec sp_executesql @query
fetch next from cursorDb into @dbname
END
close cursorDb
deallocate cursorDb

 


Ce script montre comment supprimer la colonne C_AJOUT de toutes les tables CLI des différentes bases de données de la configuration multi-dossiers de Mercator. Il doit être exécuté à partir des outils clients de SQL Server.

 

declare @dbname varchar(100), @query nvarchar(250)
declare cursorDb cursor local for select name from master.sys.databases where name like 'MERCATOR%' and not name like 'MERCATOR_MASTER%'
open cursorDb
fetch next from cursorDb into @dbname
while @@FETCH_STATUS = 0
BEGIN
set @query = 'use ' + @dbname + ';'
+ 'if dbo.FIELD_EXISTS(''CLI'',''C_AJOUT'') = 1 '
+ 'exec SP_DROP_COLUMN ''CLI'',''C_AJOUT'';'
exec sp_executesql @query
fetch next from cursorDb into @dbname
END
close cursorDb
deallocate cursorDb