mssql sqlserver sql脚本创建表时,检测表不存在时则创建一张表


摘要:
下文讲述sql创建数据库时,常用的脚本判断方法,如下所示:
实验环境:sql server 2008 R2



当编写程序升级脚本时,偶尔需要新建数据表,偶尔也会收到运维人员的反馈,运行报错(其实是运维人员多次运行此脚本导致)

下文将通过举例的方式,讲述如何避免此类现象的发生


例:
创建新表和初始化表数据
—实现思路:
——借助sqlserver系统表sys.objects对当前数据库进行判断,检测数据表是否存在
IF not EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’数据表名称’) AND type in (N’U’))
begin
print ‘不存在表,可进行数据表创建’
end

  
   -----例:
    ---判断是否存在指定数据表,如不存在,则创建数据表
IF  not  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[maomao365]') AND type in (N'U'))
begin
   print '创建数据表maomao365'
    
    create table [maomao365]
     (keyId int identity,
      info varchar(30)
      )    
   
   
    ---初始化数据
	 insert into [maomao365](info)
	 values('sqlblog'),
	       ('sqlserver教程'),
	       ('个人博客')


end
go

select * from  [maomao365] 


注意事项:
在数据库脚本编写的时,再做创建操作时,需做相应的存在性判断