Удаление таблиц созданных ранее даты Х

Sek
Дата: 14.09.2006 09:56:14
Доброе время суток!
Сссно, сабж. Как запросом удалить все таблицы из базы, которые были созданы ранее некой даты?
Спасибо.
tpg
Дата: 14.09.2006 10:09:35
См. таблица sysobjects, колонка crdate.
-=DiM@n=-
Дата: 14.09.2006 10:13:05
С помощью курсора формируете запрос и удаляете таблицы.

Получить список таблиц:
select name from sysobjects
where crDate <= @Date
      AND type = 'S'
-=DiM@n=-
Дата: 14.09.2006 10:13:57
Упс, ошибочка, правильно так:
select name from sysobjects
where crDate <= @Date
      AND type = 'U'
Горилла с Нижнего Тагила
Дата: 14.09.2006 10:16:09
DECLARE OldTablesCur CURSOR
READ_ONLY
FOR select name from sysobjects where xtype like 'U' and crdate<@YourDate
DECLARE @name varchar(40)
OPEN OldTablesCur

FETCH NEXT FROM OldTablesCur INTO @name
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN
		
		EXEC ('PRINT '''+@name+'''')	
		--EXEC ('drop table '+@name)		
	END
	FETCH NEXT FROM OldTablesCur INTO @name
END

CLOSE OldTablesCur 
DEALLOCATE OldTablesCur 
GO
Горилла с Нижнего Тагила
Дата: 14.09.2006 10:25:01
Или
exec sp_MSForEachTable N'if ''?'' in (select ''[dbo].[''+name+'']'' from sysobjects where xtype like ''U'' and crdate<''20060901'') drop table ''?'''
Дата д.б. твоя