IF存在MSSQL总是错误

时间:2017-07-01 14:14:34

标签: sql-server

如果它存在,我试图删除它。

我创建了一个表,运行正常。我可以使用DROP TABLE命令删除表。我无能为力的是:<​​/ p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="enquiry-container">
  <div id="enquiry-shown">
    <h2 id="enquiry-name">Enquiries</h2>
    <img id="enq-arrowdown" src="https://www.optimaltravel.ca/images/arrow.png">
  </div>

  <div id="enquiry-form">

  </div>
</div>

事实上,我似乎无法使用任何形式的IF EXISTS。我去了MS网站并查找了如何做到这一点,他们的例子甚至没有运行:

DROP TABLE IF EXISTS customer;

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

根据documentationIF EXISTS子句仅允许在Azure SQL数据库和SQL Server 2016或更高版本中使用。因此,您似乎正在使用SQL Server 2014或更早版本。

您需要首先检查该表是否存在于早期版本中。一种方法是检查NOT NULL的OBJECT_ID:

IF OBJECT_ID(N'dbo.customer', 'U') IS NOT NULL DROP TABLE dbo.customer;