首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除临时表(如果存在)

问删除临时表(如果存在)
EN

Stack Overflow用户
提问于 2011-08-31 23:18:40
回答 3查看 436.8K关注 0票数 101

我在SQL中有两行代码可以动态创建两个表,我需要这样做

代码语言:javascript
复制
IF TABLE EXISTS 
    DROP IT AND CREATE IT AGAIN
ELSE
    CREATE IT

我的代码如下

代码语言:javascript
复制
CREATE TABLE ##CLIENTS_KEYWORD(client_id int)     
CREATE TABLE ##TEMP_CLIENTS_KEYWORD(client_id int)   

如何在过程中将这两个表概念应用到这两个表中?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-31 23:21:22

在SQL Server 2016中,您只需使用

代码语言:javascript
复制
 DROP TABLE IF EXISTS ##CLIENTS_KEYWORD

在以前的版本中,您可以使用

代码语言:javascript
复制
IF OBJECT_ID('tempdb..##CLIENTS_KEYWORD', 'U') IS NOT NULL
/*Then it exists*/
DROP TABLE ##CLIENTS_KEYWORD
CREATE TABLE ##CLIENTS_KEYWORD
(
   client_id INT
)

您还可以考虑截断表,而不是删除和重新创建。

代码语言:javascript
复制
IF OBJECT_ID('tempdb..##CLIENTS_KEYWORD', 'U') IS NOT NULL
  TRUNCATE TABLE ##CLIENTS_KEYWORD
ELSE
  CREATE TABLE ##CLIENTS_KEYWORD
  (
     client_id INT
  ) 
票数 213
EN

Stack Overflow用户

发布于 2011-08-31 23:22:06

通过检索其object_id来检查其是否存在:

代码语言:javascript
复制
if object_id('tempdb..##clients_keyword') is not null
    drop table ##clients_keyword
票数 14
EN

Stack Overflow用户

发布于 2015-07-21 21:55:11

你所要求的是:

代码语言:javascript
复制
IF OBJECT_ID('tempdb..##CLIENTS_KEYWORD') IS NOT NULL
    BEGIN
       DROP TABLE ##CLIENTS_KEYWORD

       CREATE TABLE ##CLIENTS_KEYWORD(client_id int)

    END
ELSE
   CREATE TABLE ##CLIENTS_KEYWORD(client_id int) 

IF OBJECT_ID('tempdb..##TEMP_CLIENTS_KEYWORD') IS NOT NULL
    BEGIN
       DROP TABLE ##TEMP_CLIENTS_KEYWORD

       CREATE TABLE ##TEMP_CLIENTS_KEYWORD(client_id int)

    END
ELSE
   CREATE TABLE ##TEMP_CLIENTS_KEYWORD(client_id int) 

因为您总是要创建表,而不管表是否被删除;一个稍微优化的解决方案是:

代码语言:javascript
复制
IF OBJECT_ID('tempdb..##CLIENTS_KEYWORD') IS NOT NULL
   DROP TABLE ##CLIENTS_KEYWORD

CREATE TABLE ##CLIENTS_KEYWORD(client_id int) 

IF OBJECT_ID('tempdb..##TEMP_CLIENTS_KEYWORD') IS NOT NULL
   DROP TABLE ##TEMP_CLIENTS_KEYWORD

CREATE TABLE ##TEMP_CLIENTS_KEYWORD(client_id int) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7259285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档