Hoe de structuurwijziging van een tabel te automatiseren voor alle databases in een multi-dossier configuratie?

0000003240     -      06-08-2024

Dit SQL-script laat zien hoe je een kolom (C_AJOUT) kunt toevoegen aan alle CLI-tabellen in de verschillende databases van de multi-dossier configuratie van Mercator. Het moet worden uitgevoerd vanuit de clienttools van 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

 


Dit script laat zien hoe je de kolom C_AJOUT kunt verwijderen uit alle CLI-tabellen in de verschillende databases van de multi-dossier configuratie van Mercator. Het moet worden uitgevoerd vanuit de clienttools van 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


Functionele cookies: Cookies die nodig zijn voor het gebruik van de website en voorkeurscookies. Ze bevatten geen persoonsgegevens. (Meer informatie)

Analytische cookies: Verzamelen van statistieken met betrekking tot het gedrag van internetgebruikers. (Meer informatie)

Marketingcookies: Om bezoekers op verschillende websites te volgen voor advertentiedoeleinden. (Meer informatie)