Таблица выпадения базы данных

Если у меня есть select t.name as tableName from sys.tables t … Как я могу удалить все эти таблицы? Я имею в виду, что у меня есть они, но я хочу сделать что-то вроде …

 drop table where tableName in select t.name as tableName from sys.tables t 

Опция будет с C # для создания и запуска некоторого SP? Любые идеи?

Ниже приведен пример сценария. Используйте с осторожностью.

 DECLARE @SQL nvarchar(MAX) = ''; SELECT @SQL += N'DROP TABLE ' + QUOTENAME(OBJECT_SCHEMA_NAME(object_id)) + N'.' + QUOTENAME(name) + N'; ' FROM sys.tables <include your where clause here> EXEC(@SQL); 

В C # вы можете создать такой код. Сначала выполните SELECT, чтобы заполнить datatable именами таблиц, а затем используйте класс StringBuilder для создания пакетной команды со всеми требуемыми DROP.

Настоятельно рекомендуем создать резервную копию перед запуском этого кода …..

 string cmdText = "select t.name as tableName from sys.tables t"; SqlCommand cmd = new SqlCommand(cmdText, connection); connection.Open(); DataTable dt = new DataTable(); dt.Load(cmd.ExecuteReader()); string baseCmd = "DROP TABLE {0};\r\n"; StringBuilder sb = new StringBuilder(); foreach(DataRow r in dt.Rows) sb.AppendFormat(baseCmd, r["tableName"].ToString()); cmd.CommandText = sb.ToString(); cmd.ExecuteNonQuery(); 
 DECLARE @SQL NVARCHAR(MAX) SELECT @SQL = STUFF(( SELECT ' IF OBJECT_ID(''' + SCHEMA_NAME(schema_id) + '.' + QUOTENAME(name) + ''', ''U'') IS NOT NULL DROP TABLE ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name) + '; ' FROM sys.objects WHERE [type] = 'U' FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') PRINT @SQL EXEC sys.sp_executesql @SQL 
Interesting Posts

Каковы правила использования «внутренних» параметров в SSRS

Предложение COLLATE не может использоваться в выражениях, содержащих предложение COLLATE

Как передавать большие двоичные данные в SQL Server

SQL-запрос не прекращает выполнение

Запланированная работа, не отправляющая электронные письма

Как вернуть меньше столбцов из хранимой процедуры?

Можно ли использовать расширение данных ODBC в SQL Server Web Edition?

Автоматически определять DataTable в C # из схемы таблиц SQL-сервера?

Триггер обновления TSQL: соединение вставлено и удалено

SQL Server: круглый и добавить знак процента

Как создать представление или функцию в запросе XML PATH?

SQL Server выбирает неэффективный план (через EntityFramework)

Будет ли SQL Server использовать объединение Merge с индексом без кластеризации или только для кластеризованного индекса Merge join?

Как создать уникальное возрастающее целочисленное значение в SQL Server?

Linq, объединяющий объекты ADO.Net из соединения с базой данных и ссылкой на службу данных?

Давайте будем гением компьютера.