您好,登錄后才能下訂單哦!
今天小編給大家分享一下SQL Server中的元數(shù)據(jù)函數(shù)怎么用的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
DB_ID函數(shù)用于獲取當(dāng)前數(shù)據(jù)庫(kù)的唯一ID(int數(shù)據(jù)類型),數(shù)據(jù)庫(kù)ID用于服務(wù)器上唯一區(qū)分書庫(kù)。
語法格式:
DB_ID (['database_name'])
參數(shù)中的database_name是sysname類型的數(shù)據(jù)庫(kù)名稱,為可選參數(shù)。如果沒有指定則返回當(dāng)前工作數(shù)據(jù)庫(kù)的ID。
返回值:
int數(shù)據(jù)類型的數(shù)據(jù)庫(kù)標(biāo)識(shí)符。
示例:
select DB_ID() --輸出 8
DB_NAME函數(shù)用于紅區(qū)當(dāng)前數(shù)據(jù)庫(kù)的名稱(nvarchar數(shù)據(jù)類型)
語法格式:
DB_NAME(['database_id'])
參數(shù)中的database是int數(shù)據(jù)類型的數(shù)據(jù)庫(kù)標(biāo)識(shí)符,為可選參數(shù)。如果沒有指定則返回當(dāng)前工作數(shù)據(jù)庫(kù)的名稱。
示例:
select DB_NAME() --輸出 NHibernate
databasepropertyex函數(shù)用于獲得指定的某個(gè)數(shù)據(jù)庫(kù)的某個(gè)屬性的當(dāng)前設(shè)置。執(zhí)行一次返回一個(gè)屬性值,若要返回多個(gè)屬性值,可以查詢master系統(tǒng)數(shù)據(jù)庫(kù)的sys.database系統(tǒng)視圖。
語法格式:
databasepropertyex(database,property)
參數(shù)說明:
database:表示要為其返回命名屬性的信息的數(shù)據(jù)庫(kù)名稱,nvarchar(128)數(shù)據(jù)類型
property:表示要返回的數(shù)據(jù)庫(kù)屬性,數(shù)據(jù)類型為Varchar(128)
示例:
select databasepropertyex('NHibernate','recovery') --輸出 SIMPLE 這是數(shù)據(jù)庫(kù)的恢復(fù)模式
Property屬性的取值以及說明如下:
屬性值 | 說明 | 返回值 |
---|---|---|
Collation | 排序規(guī)則名稱 | nvarchar(128)、null |
IsAutoClose | 數(shù)據(jù)庫(kù)的自動(dòng)關(guān)閉功能是否啟用 | Int、null |
IsAutoCreateStatistics | 是否自動(dòng)創(chuàng)建統(tǒng)計(jì)信息 | Int、null |
IsAutoShrink | 是否定期收縮 | Int、null |
IsAutoUpdateStatistics | 是否自動(dòng)能夠更新統(tǒng)計(jì)信息 | Int、null |
Recovery | 數(shù)據(jù)庫(kù)的恢復(fù)模式 | nvarchar(128) |
Status | 數(shù)據(jù)庫(kù)的狀態(tài) | nvarchar(128) |
Updateability | 是否可以修改數(shù)據(jù) | nvarchar(128) |
UserAccess | 哪些用戶可以訪問數(shù)據(jù)庫(kù) | nvarchar(128) |
Version | 數(shù)據(jù)庫(kù)內(nèi)部版本號(hào) | Int |
object_id函數(shù)用于獲取特定數(shù)據(jù)庫(kù)、特定架構(gòu)下特定數(shù)據(jù)對(duì)象的唯一ID(int數(shù)據(jù)類型),對(duì)象的ID用于在數(shù)據(jù)庫(kù)內(nèi)區(qū)分唯一。
語法格式:
object_id( '[database_name . [schema_name] . | schema_name . ]object_name' [,'object_type'] ')
參數(shù)說明:
database_name
database_name | 數(shù)據(jù)庫(kù)名稱 |
schema_name | 架構(gòu)名稱 |
object_name | 對(duì)象名稱 |
object_type | 對(duì)象類型 |
返回值:
Int數(shù)據(jù)類型的對(duì)象標(biāo)識(shí)符。
object_name函數(shù)用于獲取指定數(shù)據(jù)庫(kù)、指定架構(gòu)下的數(shù)據(jù)對(duì)象的邏輯名稱。該名稱可以通過查詢sys.objects系統(tǒng)視圖的name列得到。
語法格式:
object_name(object_id)
參數(shù)中的object_id是int數(shù)據(jù)類型的對(duì)象標(biāo)識(shí)符
返回值:
sysname數(shù)據(jù)類型的邏輯對(duì)象名稱。
示例:
select OBJECT_NAME(OBJECT_ID('dbo.Account')) --輸出Account
objectproperty函數(shù)用于獲得指定數(shù)據(jù)庫(kù)、指定架構(gòu)下的指定對(duì)象的指定屬性的值。
語法格式:
objectproperty(id,property)
參數(shù)說明:
id:表示要為其返回命名屬性信息的對(duì)象的ID,int數(shù)據(jù)類型。
property:表示要返回的屬性,數(shù)據(jù)類型為sql_variant,即變體。
常見的property屬性值
屬性值 | 說明 | 返回值 |
---|---|---|
TableHasTextImage | 表中是否含有text、image列 | Int 1代表True 0代表False |
TableHasPrimaryKey | 表中是否含有主鍵 | Int 1代表True 0代表False |
TableHasIndex | 表中是否含有索引 | Int 1代表True 0代表False |
TableHasForeignKey | 表中是否含有外鍵 | Int 1代表True 0代表False |
SchemaId | 對(duì)象的架構(gòu)ID | Int |
OwnerId | 對(duì)象的所有者 | Int |
IsView | 是否視圖 | Int 1代表True 0代表False |
IsUserTable | 是否用戶創(chuàng)建表 | Int 1代表True 0代表False |
IsTable | 是否是表 | Int 1代表True 0代表False |
IsSystemTable | 是否系統(tǒng)表 | Int 1代表True 0代表False |
IsPrimaryKey | 是否主鍵 | Int 1代表True 0代表False |
filegropy_id函數(shù)用于獲取文件組的唯一標(biāo)識(shí)符(int數(shù)據(jù)類型)
語法格式:
FILEGROUP_ID( 'filegropy_name' )
參數(shù)中的filegropy_name是sysname類型的數(shù)據(jù)庫(kù)名稱,可以從sys.filegroups系統(tǒng)視圖中查詢得到。
返回值:
Int數(shù)據(jù)類型的文件組標(biāo)識(shí)符。
示例:
select filegroup_id('NHiberna') --輸出 null select filegroup_id('PRIMARY') --輸出 1
filegroup_name函數(shù)用于獲取文件組的名稱(nvarchar數(shù)據(jù)類型)。
語法格式:
filegroup_name(filegroup_id)
參數(shù)中的filegroup_id是int數(shù)據(jù)類型的文件組標(biāo)識(shí)符,要獲得該標(biāo)識(shí)符,可以查詢sys.filegroups系統(tǒng)視圖
返回值:
nvarchar(128)數(shù)據(jù)類型的文件組名稱
示例:
select filegroup_name(1) --輸出 PRIMARY
filegroupproperty函數(shù)用于獲得指定文件組的指定屬性值。
語法格式:
filegroupproperty(filegroupname,property)
參數(shù)說明:
filegroup_name:表示要為其返回屬性信息的文件組名稱,nvarchar(128)數(shù)據(jù)類型,可以通過sys.filegroups列獲得。
property:表示要返回的屬性,數(shù)據(jù)類型為varchar(128)。
常見的property屬性值列表
屬性值
屬性值 | 說明 | 返回值 |
---|---|---|
IsReadOnly | 文件組是否只讀 | Int、Null |
IsUserDefinedEG | 是否為用戶定義的文件組 | Int、Null |
IsDefault | 是否默認(rèn)的文件組 | Int、Null |
示例:
select filegroupproperty('PRIMARY','isreadonly') --輸出 0
file_id函數(shù)用于獲取數(shù)據(jù)庫(kù)的文件,包括日志文件和數(shù)據(jù)文件的標(biāo)識(shí)符。文件標(biāo)識(shí)符用于在數(shù)據(jù)庫(kù)中唯一區(qū)分。
語法格式:
FILE_ID( file_name )
參數(shù)中的file_name是sysname類型的文件名稱,可以通過查詢系統(tǒng)視圖sys.database_files中的name列來獲得。
返回值:
smallint數(shù)據(jù)類型的文件標(biāo)識(shí)符。
示例:
select * from sys.database_files --查出有哪些數(shù)據(jù)庫(kù)文件 select file_id('NHibernate') --輸出 1 查出NHibernate數(shù)據(jù)庫(kù)文件對(duì)應(yīng)的fileid
file_name函數(shù)用于獲取當(dāng)前數(shù)據(jù)庫(kù)的邏輯名稱(nvarchar數(shù)據(jù)類型),這里是邏輯名稱而不是包含路徑的物理名稱。
語法格式:
file_name(file_id)
參數(shù)中的file_id是int數(shù)據(jù)類型的數(shù)據(jù)庫(kù)標(biāo)識(shí)符??梢圆樵僲aster數(shù)據(jù)庫(kù)的sys.master_files系統(tǒng)視圖的file_id列獲得服務(wù)器上所有數(shù)據(jù)庫(kù)的文件ID,也可以查詢某個(gè)數(shù)據(jù)庫(kù)的sys.database_files系統(tǒng)視圖的file_id列獲得該數(shù)據(jù)庫(kù)的文件的ID。
返回值:
nvarchar(128)數(shù)據(jù)類型的邏輯文件名稱。
示例:
select * from sys.database_files --查出有哪些數(shù)據(jù)庫(kù)文件 select file_id('NHibernate') --輸出 1 查出NHibernate數(shù)據(jù)庫(kù)文件對(duì)應(yīng)的fileid select file_name(1) -- 輸出 NHibernate
fileproperty函數(shù)用于獲得指定文件的指定屬性值。
語法格式:
fileproperty (file_name ,property )
參數(shù)說明:
file_name:表示要為其返回屬性信息的文件的邏輯名稱,nvarchar(128)數(shù)據(jù)類型,可以通過sys.database_files系統(tǒng)視圖查詢name列獲得。
property:表示要返回的屬性,數(shù)據(jù)類型為varchar(128)。
常見的property屬性值的取值如下:
屬性值
屬性值 | 說明 | 返回值 |
---|---|---|
IsReadOnly | 文件是否只讀 | Int 1代表True,0代表False |
IsPrimaryFile | 是否為主要數(shù)據(jù)文件 | Int 1代表True,0代表False |
IsLogFile | 是否為日志文件 | Int 1代表True,0代表False |
SpaceUsed | 文件空間的使用量 | Int |
示例:
select fileproperty('nhibernate','isreadonly') --輸出 0 select fileproperty('nhibernate','isprimaryfile')--輸出1 select fileproperty('nhibernate','islogfile') --輸出0 select fileproperty('nhibernate','spaceused') --輸出184
以上就是“SQL Server中的元數(shù)據(jù)函數(shù)怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。