判断表是否存在:
语法:
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