我想验证数据库中是否存在表,如果不存在,则创建它。
如何获取当前数据库中所有表的列表?
我可以使用这样的 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
但它在“use”行上给了我错误,说“db”不存在。这次,我将尝试用两个不同的命令来完成此操作。
这应该为您提供数据库中所有表的列表
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)