Sql server 如何检查表是否存在,如果不存在,如何创建表?
我想编写代码来检查SQL Server 2008中的表是否已经存在,如果不存在,则创建它,然后将记录插入其中。 请告诉我怎么做? 是否需要为其创建存储过程Sql server 如何检查表是否存在,如果不存在,如何创建表?,sql-server,Sql Server,我想编写代码来检查SQL Server 2008中的表是否已经存在,如果不存在,则创建它,然后将记录插入其中。 请告诉我怎么做? 是否需要为其创建存储过程 IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.TABLES T WHERE T.TABLE_SCHEMA = 'dbo' AND T.TABLE_NAME = 'YOURTABLENAME' ) BEGIN CREATE TABLE
IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.TABLES T
WHERE T.TABLE_SCHEMA = 'dbo'
AND T.TABLE_NAME = 'YOURTABLENAME' )
BEGIN
CREATE TABLE dbo.YOURTABLENAME
(
ColumnDefinitionsHere
)
END
GO
如果count返回0,则表示该表不存在
如果count返回0,则表示该表未退出您需要查看系统视图才能执行此操作:
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SomeTable]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[SomeTable](
[SomeId] [int] NOT NULL
)
END ELSE PRINT 'SomeTable already exists.';
要执行此操作,您需要查看系统视图:
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SomeTable]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[SomeTable](
[SomeId] [int] NOT NULL
)
END ELSE PRINT 'SomeTable already exists.';