1 判斷資料庫是否存在
ifexists (select
*from sys.databases where name =
』資料庫名』)
drop
database
[資料庫名]if
exists (select
*from sys.databases where name =
』資料庫名』)
drop
database
[資料庫名
]
2 判斷表是否存在
ifexists (select
*from sysobjects where id =
object_id(n』[
表名]』) and
objectproperty(id, n』isusertable』) =
1)
drop
table[表名
]ifexists (select
*from sysobjects where id =
object_id(n』[
表名]』) and
objectproperty(id, n』isusertable』) =1)
drop
table[表名
]
3 判斷儲存過程是否存在
ifexists (select
*from sysobjects where id =
object_id(n』[
儲存過程名
]』) and
objectproperty(id, n』isprocedure』) =
1)
drop
procedure
[儲存過程名]if
exists (select
*from sysobjects where id =
object_id(n』[
儲存過程名
]』) and
objectproperty(id, n』isprocedure』) =1)
drop
procedure
[儲存過程名
]
4 判斷臨時表是否存在
ifobject_id(』tempdb..#臨時表名』) is
notnull
drop
table #臨時表名 if
object_id(』tempdb..#臨時表名』) is
notnull
drop
table #臨時表名
5 判斷檢視是否存在
--sql server 2000
ifexists (select
*from sysviews where
object_id
= 』[
dbo].[
檢視名]
』 --
sql server 2005
ifexists (select
*from sys.views where
object_id
= 』[
dbo].[
檢視名]』 --
sql server 2000
ifexists (select
*from sysviews where
object_id
= 』[
dbo].[
檢視名]』--
sql server 2005
ifexists (select
*from sys.views where
object_id
= 』[
dbo].[
檢視名]』
6 判斷函式是否存在
--判斷要建立的函式名是否存在
ifexists (select
*from dbo.sysobjects where id =
object_id(n』[
dbo].[
函式名]』) and xtype in (n』fn』, n』if
』, n』tf』))
drop
function
[dbo
].[函式名]--
判斷要建立的函式名是否存在
ifexists (select
*from dbo.sysobjects where id =
object_id(n』[
dbo].[
函式名]』) and xtype in (n』fn』, n』if
』, n』tf』))
drop
function
[dbo
].[函式名
]
7 獲取使用者建立的物件資訊
select[name
],[id
],crdate from sysobjects where xtype=
』u』
/*xtype 的表示引數型別,通常包括如下這些
c = check 約束
d = 預設值或 default 約束
f = foreign key 約束
l = 日誌
fn = 標量函式
if = 內嵌表函式
p = 儲存過程
pk = primary key 約束(型別是 k)
rf = 複製篩選儲存過程
s = 系統表
tf = 表函式
tr = 觸發器
u = 使用者表
uq = unique 約束(型別是 k)
v = 檢視
x = 擴充套件儲存過程
*/select
[name
],[id
],crdate from sysobjects where xtype=
』u』/*
xtype 的表示引數型別,通常包括如下這些
c = check 約束
d = 預設值或 default 約束
f = foreign key 約束
l = 日誌
fn = 標量函式
if = 內嵌表函式
p = 儲存過程
pk = primary key 約束(型別是 k)
rf = 複製篩選儲存過程
s = 系統表
tf = 表函式
tr = 觸發器
u = 使用者表
uq = unique 約束(型別是 k)
v = 檢視
x = 擴充套件儲存過程
*/
8 判斷列是否存在
ifexists(select
*from syscolumns where id=
object_id(』表名』) and name=
』列名』)
alter
table 表名 drop
column 列名 if
exists(select
*from syscolumns where id=
object_id(』表名』) and name=
』列名』)
alter
table 表名 drop
column 列名
9 判斷列是否自增列
ifcolumnproperty(object_id(』table』),』col』,』isidentity』)=
1print
』自增列』
else
』不是自增列』
select
*from sys.columns where
object_id
=object_id
(』表名』)
and is_identity=1if
columnproperty(object_id(』table』),』col』,』isidentity』)=
1print
』自增列』
else
』不是自增列』
select
*from sys.columns where
object_id
=object_id
(』表名』)
and is_identity=
1
10 判斷表中是否存在索引
ifexists(select
*from sysindexes where id=
object_id(』表名』) and name=
』索引名』)
』存在』
else
print 』不存在 if
exists(select
*from sysindexes where id=
object_id(』表名』) and name=
』索引名』)
』存在』
else
print 』不存在
11 檢視資料庫中物件
select*from sys.sysobjects where name=』物件名』 select
*from sys.sysobjects where name=』物件名』
判斷物件是否是空物件
object.keys 方法會返回乙個由乙個給定物件的自身可列舉屬性組成的陣列。通過陣列中屬性的個數判斷是否為空物件。const empty object.keys empty length 0 empty.constructor object 而且需要判斷物件的constructor屬性是否等於o...
js判斷物件是否存在
例項如下 if typeof obj undefined 如果typeof obj undefined 為true則該物件不存在,當前指令碼還沒有定義該物件 其他的寫法要注意 這種方法不起作用 if x undefined 操作語句 這個方法同樣不起作用 必須檢查 字串 undefined if t...
如何判斷物件是否死亡
主要的方法分為兩種 引用計數演算法和可達性分析演算法,目前常用的就是可達性分析演算法 對乙個物件新增乙個引用的計數器,當該物件被引用依次那麼計數器 1,如果引用被釋放,那麼計數器 1,這樣根據物件最終引用次數為0時,將該物件 缺點 當兩個物件互相的引用,引用計數器就無法得到為0,那麼也就無將物件就行...