判断表是否存在:
语法:
SELECT * FROM dbo.SysObjects where id = object_id(N'表名')
例子:
SELECT * FROM dbo.SysObjects where id = object_id(N'ExchangeLog')
if exists(SELECT * FROM dbo.SysObjects where id = object_id(N'ExchangeLog')) print '表存在' else print '表不存在'
判断列是否存在:
语法:
select * from syscolumns where id=object_id(N'表名') and name ='列名'
例子
select * from syscolumns where id=object_id(N'ExchangeLog') and name ='Extype'
if exists(select * from syscolumns where id=object_id(N'ExchangeLog') and name ='Extype') alter table ExchangeLog drop column ExType else begin alter table [ExchangeLog] add ExType nchar(15) end go