Как удалить таблицу, если она существует в SQL Server? - PullRequest
641 голосов
/ 25 октября 2011

Имя таблицы Scores.

Правильно ли делать следующее?

IF EXISTS(SELECT *
          FROM   dbo.Scores)
  DROP TABLE dbo.Scores 

Ответы [ 13 ]

3 голосов
/ 24 января 2017

Я использую:

if exists (select * 
           from sys.tables 
           where name = 'tableName' 
           and schema_id = schema_id('dbo'))
begin
    drop table dbo.tableName
end
0 голосов
/ 26 марта 2019

Лучший визуальный и простой способ, если вы используете Visual Studio, просто откройте в строке меню,

Вид -> Обозреватель объектов SQL Server

должно открыться, как показано здесь

enter image description here

Выберите и щелкните правой кнопкой мыши таблицу, которую хотите удалить, затем удалите. Такой экран должен отображаться. Нажмите Обновить базу данных для подтверждения.

enter image description here

Этот метод очень безопасен, так как он дает вам обратную связь и предупреждает о любых отношениях удаленной таблицы с другими таблицами.

0 голосов
/ 30 марта 2017

Сделайте так, это самый простой способ.

qry будет вашим собственным запросом, что бы вы ни хотели в списке выбора.

set @qry = ' select * into TempData from (' + @qry + ')Tmp  '

exec (@qry)

select * from TempData 

drop table TempData
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...