一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

SQL --OBJECT_ID() 總結(jié)

 十三笑兮兮 2012-03-01

 


OBJECT_ID()---返回架構(gòu)范圍內(nèi)對象的數(shù)據(jù)庫對象標(biāo)識

語法:

 OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ] 

    object_name' [ ,'object_type' ] )

參數(shù):

' object_name '

要使用的對象。object_name 的數(shù)據(jù)類型為 varchar nvarchar。 如果 object_name 的數(shù)據(jù)類型為 varchar,則它將隱式轉(zhuǎn)換為 nvarchar。 可以選擇是否指定數(shù)據(jù)庫和架構(gòu)名稱。

' object_type '

架構(gòu)范圍的對象類型。object_type 的數(shù)據(jù)類型為 varchar nvarchar。 如果 object_type 的數(shù)據(jù)類型為 varchar,則它將隱式轉(zhuǎn)換為 nvarchar。 有關(guān)對象類型的列表,請參閱 sys.objects (Transact-SQL) 中的 type 列。

返回類型  int

異常


對于空間索引,OBJECT_ID 返回 NULL。

出現(xiàn)錯誤時,返回 NULL

用戶只能查看其擁有的安全對象的元數(shù)據(jù),或者已對其授予權(quán)限的安全對 象的元數(shù)據(jù)。也就是說,如果用戶對該對象沒有任何權(quán)限,則那些會生成元數(shù)據(jù)的內(nèi)置函數(shù)(如 OBJECT_ID)可能返回 NULL。有關(guān)詳細(xì)信息,請參閱元數(shù)據(jù)可見性配置元數(shù)據(jù)可見性故障排除。

注釋


當(dāng)該參數(shù)對系統(tǒng)函數(shù)可選時,則采用當(dāng)前數(shù)據(jù)庫、主機、服務(wù)器用戶或數(shù) 據(jù)庫用戶。內(nèi)置函數(shù)后面必須跟括號。

當(dāng)指定臨時表名時,除非當(dāng)前數(shù)據(jù)庫為 tempdb, 否則必須在該臨時表名之前加上數(shù)據(jù)庫名稱。例如:SELECT OBJECT_ID('tempdb..#mytemptable')

系統(tǒng)函數(shù)可以在選擇列表、WHERE 子句和任何允許使用表達式的地方使用。有關(guān)詳細(xì)信息,請參閱表達式 (Transact-SQL)WHERE (Transact-SQL)

示例


A. 返回指定對象的對象 ID

以下示例返回 AdventureWorks2008R2 數(shù)據(jù)庫中 Production.WorkOrder 表的對象 ID。

USE master;
GO
SELECT OBJECT_ID(N'AdventureWorks2008R2.Production.WorkOrder') AS 'Object ID';
GO

B. 驗證對象是否存

以下示例通過驗證表是否具有對象 ID 來檢查指定表的存在性。如果該表存在,則將其刪除。如果該表不存在,則不執(zhí)行 DROP TABLE 語句。

USE AdventureWorks2008R2;
GO
IF OBJECT_ID (N'dbo.AWBuildVersion', N'U') IS NOT NULL
DROP TABLE dbo.AWBuildVersion;
GO

C. 使用 OBJECT_ID 指定系統(tǒng)函數(shù)的參數(shù)

以下示例使用 sys.dm_db_index_operational_stats 函數(shù)返回 AdventureWorks2008R2 數(shù)據(jù)庫中 Person.Address 表的所有索引和分區(qū)信息。

重要說明重要提示

在使用 Transact-SQL 函數(shù) DB_ID OBJECT_ID 返回參數(shù)值時,請始終確保返回有效的 ID。如果找不到數(shù)據(jù)庫或?qū)ο蟮拿Q,例如相應(yīng)名稱不存在或拼寫不正確,則兩個函數(shù)都會返回 NULL。sys.dm_db_index_operational_stats 函數(shù)將 NULL 解釋為指定所有數(shù)據(jù)庫或所有對象的通配符值。由于這可能是無心之舉,所以此部分中的示例說明了確定數(shù)據(jù)庫 ID 和對象 ID 的安全方法。

DECLARE @db_id int;
DECLARE @object_id int;
SET @db_id = DB_ID(N'AdventureWorks2008R2');
SET @object_id = OBJECT_ID(N'AdventureWorks2008R2.Person.Address');
IF @db_id IS NULL 
  BEGIN;
    PRINT N'Invalid database';
  END;
ELSE IF @object_id IS NULL
  BEGIN;
    PRINT N'Invalid object';
  END;
ELSE
  BEGIN;
    SELECT * FROM sys.dm_db_index_operational_stats(@db_id, @object_id, NULL, NULL);
  END;
GO

 

判斷數(shù)據(jù)庫對象是否存在

if object_id(N'對象名',N'對象類型') is not null  執(zhí)行語句

 

可選對象類型:

AF = 聚合函數(shù) (CLR)

C = CHECK 約束

D = DEFAULT(約束或獨立)

F = FOREIGN KEY 約束

FN = SQL 標(biāo)量函數(shù)

FS = 程序集 (CLR) 標(biāo)量函數(shù)

FT = 程序集 (CLR) 表值函數(shù)

IF = SQL 內(nèi)聯(lián)表值函數(shù)

IT = 內(nèi)部表

P = SQL 存儲過程

PC = 程序集 (CLR) 存儲過程

PG = 計劃指南

PK = PRIMARY KEY 約束

R = 規(guī)則(舊式,獨立)

RF = 復(fù)制篩選過程

S = 系統(tǒng)基表

SN = 同義詞

SQ = 服務(wù)隊列

TA = 程序集 (CLR) DML 觸發(fā)器

TF = SQL 表值函數(shù)

TR = SQL DML 觸發(fā)器

U = 表(用戶定義類型)

UQ = UNIQUE 約束

V = 視圖

X = 擴展存儲過程

 

例子

刪除用戶表

if object_id(N'表名',N'U') is not null drop table 表名

 

刪除存儲過程

if object_id(N'存儲過程名',N'P') is not null drop procedure 存儲過程名

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久久精品色妇熟妇丰满人妻91 | 欧美一区二区日韩一区二区| 亚洲超碰成人天堂涩涩| 国产精品一级香蕉一区| 亚洲欧美日韩中文字幕二欧美| 色婷婷中文字幕在线视频| 成人日韩在线播放视频| 欧美亚洲国产日韩一区二区| 国产日韩精品欧美综合区| 欧美日韩精品久久第一页| 微拍一区二区三区福利| 亚洲视频一区二区久久久| 福利一区二区视频在线| 久久综合日韩精品免费观看| av在线免费观看在线免费观看| 五月婷婷综合缴情六月| 国产大屁股喷水在线观看视频| 日本av一区二区不卡| 激情亚洲一区国产精品久久| 人妻露脸一区二区三区| 日韩丝袜诱惑一区二区| 在线欧洲免费无线码二区免费| 国内自拍偷拍福利视频| 日韩一本不卡在线观看| 国产精品日韩欧美第一页| 儿媳妇的诱惑中文字幕| 欧美一区二区三区五月婷婷| 国产成人综合亚洲欧美日韩| 精品日韩中文字幕视频在线| 亚洲国产成人一区二区在线观看| 91久久精品在这里色伊人| 亚洲乱妇熟女爽的高潮片| 国产精品偷拍视频一区| 成年午夜在线免费视频| 午夜国产精品国自产拍av| 亚洲国产中文字幕在线观看| 国内精品美女福利av在线| 粉嫩国产一区二区三区在线| 成人你懂的在线免费视频| 美女被后入福利在线观看| 爽到高潮嗷嗷叫之在现观看|