相关疑难解决方法(0)

检查SQL Server中是否存在表

我希望这是关于如何使用SQL语句检查SQL Server 2000/2005中是否存在表的最终讨论.

当谷歌找到答案时,你会得到很多不同的答案.这样做是否有正式/后向和前向兼容的方式?

这有两种可行的方法.这两者中哪一个是标准/最佳方式?

第一种方式:

IF EXISTS (SELECT 1 
           FROM INFORMATION_SCHEMA.TABLES 
           WHERE TABLE_TYPE='BASE TABLE' 
           AND TABLE_NAME='mytablename') 
   SELECT 1 AS res ELSE SELECT 0 AS res;
Run Code Online (Sandbox Code Playgroud)

第二种方式:

IF OBJECT_ID (N'mytablename', N'U') IS NOT NULL 
   SELECT 1 AS res ELSE SELECT 0 AS res;
Run Code Online (Sandbox Code Playgroud)

MySQL提供简单

SHOW TABLES LIKE '%tablename%'; 
Run Code Online (Sandbox Code Playgroud)

声明.我正在寻找类似的东西.

t-sql sql-server sql-server-2005 sql-server-2000

1068
推荐指数
14
解决办法
116万
查看次数

仅当存在时如何在SQL Server 2008中删除表

我们公司正在将其中一种产品从SQL Server 2005迁移到2008,并且在日志中我注意到有关删除表(如果不存在)的错误过多。在SQL Server 2005中,我们必须删除表

IF OBJECT_ID('dbo.Units', 'U') IS NOT NULL
   DROP TABLE dbo.Units
Run Code Online (Sandbox Code Playgroud)

似乎不再起作用了。

仅当表存在于SQL Server 2008中时,删除表的正确方法是什么?

sql sql-server-2008

2
推荐指数
1
解决办法
1万
查看次数

如何检查表是否存在,如果不存在则创建表?

我想编写代码来检查 SQL Server 2008 中是否存在表,如果不存在,则创建它,然后将记录插入其中。请告诉我怎么做?是否有必要为其创建存储过程?

sql-server

0
推荐指数
1
解决办法
6007
查看次数