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

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

0 голосов
/ 06 февраля 2019

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

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 Ответ

0 голосов
/ 06 февраля 2019

он будет выполняться только в той БД, в которой вы его используете. Однако для безопасности используйте ИСПОЛЬЗУЙТЕ yourDBName в верхней части окна запроса

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

USE yourDBName EXEC sp_MSforeachtable 'TRUNCATE TABLE ?'
...