SQL Server中判斷資料庫是否存在:
法(一):
select * From master.dbo.sysdatabases where name='資料庫名'
法(二):
if db_id('資料庫名') is not null
drop database 。。。
go
create 。。。
SQL Server中判斷表物件是否存在:
select count(*) from sysobjects where id = object_id('資料庫名.Owner.表名')
if exists
(select count(*) from sysobjects where id = object_id('資料庫名.Owner.表名'))
print '存在'
else
print '不存在'
SQL Server中判斷表中欄位是否存在:
if exists
(select * from syscolumns where name='colname1' and id=object_id('資料庫名.Owner.表名'))
print '存在'
else
print '不存在'
(代表表tablename1中存在colname1欄位 )
例:
select * from syscolumns where name='Test' and id=object_id('dbo.test')
SQL Server中判斷儲存過程或檢視是否存在:
if object_id('檢視或儲存過程名') is not null
drop proc/view 。。。
go
create proc/view 。。。
或
if Exists(select * from sysobjects where name='檢視或儲存過程名' AND type = 'P/V')
drop proc/view 。。。
go
create proc/view 。。。