Показать сообщение отдельно
Старый 30.06.2010, 19:11   #11  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,284 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
В своё время написал скрипт для удаления мусора. С виртуальными компаниями работало тоже корректно, но давно не тестировал
Может, пригодится...

Код:
-----------------------------------------
-- М.Андреев 28.04.2005
-- Скрипт удаляет все данные "чужих" компаний, которых не должно быть в текущей базе
-- Запускать нужно от пользователя-владельца таблиц аксапты
----- BEGIN OF SCRIPT ------------------ 

declare @name varchar(1000);

DECLARE CT CURSOR FOR 
	select name
		from dbo.sysobjects
		where xtype = 'U'
			and id in
		(select id
		from dbo.syscolumns 
		where name = 'DATAAREAID');

OPEN CT
WHILE 1=1
begin
FETCH FROM CT INTO @name
     IF @@fetch_status=-1 
        BREAK;
     IF @@fetch_status=-2
        CONTINUE;
	exec ('delete from '+@name+
	'  where NOT DATAAREAID IN (select id from DATAAREA)');
     PRINT @name;
    
end;

DEALLOCATE CT
--------- END OF SCRIPT ----------
__________________
Михаил Андреев
https://www.amand.ru
За это сообщение автора поблагодарили: alex55 (1).