如何在数据库中获取表列表,使用MS SQL 2008?

前端之家收集整理的这篇文章主要介绍了如何在数据库中获取表列表,使用MS SQL 2008?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想验证数据库中是否存在表,如果不存在,则要创建它。
如何获取当前数据库中所有表的列表?

我可以用SELECT获得数据库列表:

SELECT * FROM sys.databases

剩下的是创建表,如果它不存在。

我也试图用数据库同时创建表,如下所示:

if not exists(select * from sys.databases where name = 'db')
begin 
    create database [db]
    use [db];
    create table [test] (
         Time datetime,Message varchar(1024) )
    end

但它给我的错误’使用’行,说’db’不存在。这一次,我会尝试在2个不同的命令中这样做。

解决方法

这应该为您提供数据库中所有表的列表
SELECT Distinct TABLE_NAME FROM information_schema.TABLES

所以你可以使用它类似于你的数据库检查。

If NOT EXISTS(SELECT Distinct TABLE_NAME FROM information_schema.TABLES Where TABLE_NAME = 'Your_Table')
BEGIN
    --CREATE TABLE Your_Table
END
GO

猜你在找的MsSQL相关文章