Усекать все таблицы в БД

Я выполнил следующий скрипт для удаления / усечения всех таблиц в определенной БД:

EXEC sp_MSForEachTable 'DISABLE TRIGGER ALL ON ?'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'DELETE FROM ?'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'ENABLE TRIGGER ALL ON ?'
GO

Будет ли приведенный выше скрипт обрезать все таблицы во всех БД или только в той БД, в которой я его запускаю?

1 ответ

Он будет выполняться только в той БД, в которой вы его используете. Однако для безопасности используйте USE yourDBName в верхней части окна запроса.

Попробуй вот так,

USE yourDBName EXEC sp_MSforeachtable 'TRUNCATE TABLE ?'
Другие вопросы по тегам