在新增新的資料庫,表或字段的時候,新增之前一般都會檢查是否已經存在,這樣做的好處是保證指令碼的穩定性,再次執行的時候也不會報錯了。
有兩種方法,一種是使用內建的函式,另外一種是查詢系統表,總結的sql指令碼如下。
1usemaster;2go
34--判斷資料庫是否存在5--
方法1:使用函式db_id6if
db_id('
testdb
') is
notnull
drop
database
testdb;78
--方法2:查詢系統表9if
exists(select
*from sys.sysdatabases where name=n'
testdb
') drop
database
testdb;
1011
usetestdb;
12go
1314
--判斷資料表是否存在
15--
方法1:使用函式object_id
16if
object_id('
dbo.test
','u
') is
notnull
drop
table
dbo.test;
1718
--方法2:查詢系統表
19if
exists(select
*from sys.syscolumns where
object_id('
dbo.test
')) drop
table
dbo.test;
2021
--判斷字段是否存在
22--
方法1:使用函式col_length
23if
col_length('
dbo.test
',n'
userid
') is
null
24alter
table dbo.test add item1 nvarchar(max) null;25
26--
方法2:查詢系統表
27if
exists(select
*from sys.syscolumns where id=
object_id('
dbo.test
') and name=n'
userid')
28print
'userid已存在'29
else
30print
'userid不存在'31
32--
重新整理檢視,因為新增或刪除列時可能會影響到檢視
33if
object_id('
dbo.vieworderintegral
','u
') is
notnull
34exec sp_refreshview n'
dbo.vieworderintegral
';
mysql判斷資料庫或表是否存在
1 判斷資料庫存在,則刪除 drop database if exists db name 2 判斷資料表存在,則刪除 drop table if exists table name 注 db name,table name可用 1鍵旁邊那個鍵 號引起來,也可不引起來.1 如果單純顯示是否存在資料庫...
如何判斷資料庫是否存在
在建立資料庫時,經常要判斷伺服器中是否存在某個資料庫,然後再決定是不是要進行下一步操作。以下是一些簡單地示例,希望會有用。2 ifexists select from master.dbo.sysdatabases where name skybusiness 3 begin4 drop datab...
Sql記錄 判斷表或字段是否存在
首先我們需要了解 information schema 這個庫 information schema 中儲存著關於mysql伺服器所維護的所有其他資料庫的資訊。如資料庫名,資料庫的表,表欄的資料型別與訪問許可權等。其內有數個唯讀表,它們實際上是檢視,而不是基本表,因此,你將無法看到與之相關的任何檔案...