日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【SQL基础】T-SQL函数类型——元数据函数

發布時間:2023/12/9 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【SQL基础】T-SQL函数类型——元数据函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???? 一般來說,元數據函數返回的是有關指定數據庫和數據對象的信息。下面介紹幾種元數據函數。

??? 1、COL_NAME(tab_id,col_id),返回表tab_id的tab_id的列名。

??? 例:selectCOL_NAME(OBJECT_ID('employees'),3); 結果為’FirstName’

??? 2、COLUMNPROPERTY(id,col,property),返回指定列的信息。property屬于以下值:

說明

AllowsNull

允許空值。1 = TRUE,0 = FALSE,NULL = 輸入無效。

ColumnId

對應于 sys.columns.column_id 的列 ID 值。

FullTextTypeColumn

表中的 TYPE COLUMN,其中包含 column 的文檔類型信息。

IsComputed

列是計算列。1 = TRUE,0 = FALSE,NULL = 輸入無效。

IsCursorType

過程參數類型為 CURSOR。1 = TRUE,0 = FALSE,NULL = 輸入無效。

IsDeterministic

列是確定性列。此屬性只適用于計算列和視圖列。1 = TRUE,0 = FALSE,NULL = 輸入無效。非計算列或視圖列。

IsFulltextIndexed

列已經注冊為全文索引。1 = TRUE,0 = FALSE,NULL = 輸入無效。

IsIdentity

列使用 IDENTITY 屬性。1 = TRUE,0 = FALSE, NULL = 輸入無效。

IsIdNotForRepl

列檢查 IDENTITY_INSERT 設置。如果指定了 IDENTITY NOT FOR REPLICATION,則不檢查 IDENTITY_INSERT 設置。1 = TRUE,0 = FALSE, NULL = 輸入無效。

IsIndexable

可以對列進行索引。1 = TRUE,0 = FALSE, NULL = 輸入無效。

IsOutParam

過程參數是輸出參數。1 = TRUE,0 = FALSE, NULL = 輸入無效。

IsPrecise

列是精確列。此屬性只適用于確定性列。1 = TRUE,0 = FALSE, NULL = 輸入無效。

IsRowGuidCol

列具有 uniqueidentifier 數據類型,并且定義了 ROWGUIDCOL 屬性。1 = TRUE,0 = FALSE, NULL = 輸入無效。

IsSystemVerified

列的確定性和精度屬性可以使用 數據庫引擎 驗證。此屬性只應用于計算列和視圖中的列。1 = TRUE,0 = FALSE, NULL = 輸入無效。

IsXmlIndexable

可以在 XML 索引中使用 XML 列。1 = TRUE,0 = FALSE, NULL = 輸入無效。

Precision

列或參數的數據類型的長度。指定的列數據類型的長度,-1 = xml 或大值類型,NULL = 輸入無效。

Scale

列或參數的數據類型的小數位數。

SystemDataAccess

列是由訪問 SQL Server 的系統目錄或虛擬系統表中數據的函數派生的。此屬性只應用于計算列和視圖中的列。1 = TRUE,0 = FALSE, NULL = 輸入無效。

UserDataAccess

列是由訪問儲存于 SQL Server 本地實例的用戶表中數據的函數派生的。此屬性只應用于計算列和視圖中的列。1 = TRUE,0 = FALSE, NULL = 輸入無效。

UsesAnsiTrim

第一次創建表時,ANSI_PADDING 設置為 ON。此屬性僅應用于列或者 char 或 varchar 類型的參數。1 = TRUE,0 = FALSE, NULL = 輸入無效。

IsSparse

列為稀疏列。1 = TRUE,0 = FALSE, NULL = 輸入無效。

IsColumnSet

列為列集。1 = TRUE,0 = FALSE, NULL = 輸入無效。

??? 3、DATABASEPROPERYTY(database,property),返回指定的數據庫的指定數據庫屬性值。

??? 4、DB_ID([db_name]),返回數據庫的db_name的標識符,即返回當前數據庫的標識符。

??? 例:?? selectDB_ID('Master'),結果為1

??? 5、DB_NAME([db_id]),返回帶有標識符db_id的數據庫名,如果沒有指定標識符,就顯示當前數據名稱。

??? 例:selectDB_NAME(1),結果為’master’

??? 6、INDEX_COL(table,i,no),返回表table中的索引列,該索引列有索引標識符i及該列在索引中的位置no指定。

??? 7、INDEXPROPERY(obj_id,index_name,property),返回指定表標識號、索引或統計名稱及屬性名稱的指定索引值或統計屬性值。

??? 8、OBJECT_NAME(obj_id),返回有標識符obj_id的數據庫對象名稱。

??? 例:selectOBJECT_NAME(245575913),結果為‘Products’

??? 9、OBJECT_ID(obj_name),返回數據庫對象obj_name對應的標識符。

??? 例:selectOBJECT_ID('products'); 結果為245575913

??? 9、OBJECTPROPERTY(obj_id,property),返回當前數據對象。property為以下值:

屬性名稱

說明

CnstIsClustKey

具有聚集索引的 PRIMARY KEY 約束。1 = True,0 = False

CnstIsColumn

單個列上的 CHECK、DEFAULT 或 FOREIGN KEY 約束。1 = True,0 = False

CnstIsDeleteCascade

具有 ON DELETE CASCADE 選項的 FOREIGN KEY 約束。1 = True,0 = False

CnstIsDisabled

禁用的約束。1 = True,0 = False

CnstIsNonclustKey

非聚集索引的 PRIMARY KEY 或 UNIQUE 約束。1 = True,0 = False

CnstIsNotRepl

使用 NOT FOR REPLICATION 關鍵字定義的約束。1 = True,0 = False

CnstIsNotTrusted

啟用約束時未檢查現有行,因此可能不是所有行都適用該約束。1 = True,0 = False

CnstIsUpdateCascade

具有 ON UPDATE CASCADE 選項的 FOREIGN KEY 約束。1 = True,0 = False

ExecIsAfterTrigger

AFTER 觸發器。1 = True,0 = False

ExecIsAnsiNullsOn

創建時的 ANSI_NULLS 設置。1 = True,0 = False

ExecIsDeleteTrigger

DELETE 觸發器。1 = True,0 = False

ExecIsFirstDeleteTrigger

對表執行 DELETE 時觸發的第一個觸發器。1 = True,0 = False

ExecIsFirstInsertTrigger

對表執行 INSERT 時觸發的第一個觸發器。1 = True,0 = False

ExecIsFirstUpdateTrigger

對表執行 UPDATE 時觸發的第一個觸發器。1 = True,0 = False

ExecIsInsertTrigger

INSERT 觸發器。1 = True,0 = False

ExecIsInsteadOfTrigger

INSTEAD OF 觸發器。1 = True,0 = False

ExecIsLastDeleteTrigger

對表執行 DELETE 時激發的最后一個觸發器。1 = True,0 = False

ExecIsLastInsertTrigger

對表執行 INSERT 時激發的最后一個觸發器。1 = True,0 = False

ExecIsLastUpdateTrigger

對表執行 UPDATE 時激發的最后一個觸發器。1 = True,0 = False

ExecIsQuotedIdentOn

創建時的 QUOTED_IDENTIFIER 設置1 = True,0 = False

ExecIsStartup

啟動過程。1 = True,0 = False

ExecIsTriggerDisabled

禁用的觸發器。1 = True,0 = False

ExecIsTriggerNotForRepl

定義為 NOT FOR REPLICATION 的觸發器。1 = True,0 = False

ExecIsUpdateTrigger

UPDATE 觸發器。1 = True,0 = False

HasAfterTrigger

表或視圖具有 AFTER 觸發器。1 = True,0 = False

HasDeleteTrigger

表或視圖具有 DELETE 觸發器。1 = True,0 = False

HasInsertTrigger

表或視圖具有 INSERT 觸發器。1 = True,0 = False

HasInsteadOfTrigger

表或視圖具有 INSTEAD OF 觸發器。1 = True,0 = False

HasUpdateTrigger

表或視圖具有 UPDATE 觸發器。1 = True,0 = False

IsAnsiNullsOn

指定表的 ANSI NULLS 選項設置為 ON。這表示所有對空值的比較都取值為 UNKNOWN。只要表存在,此設置將應用于表定義中的所有表達式,包括計算列和約束。1 = True,0 = False

IsCheckCnst

CHECK 約束。1 = True,0 = False

IsConstraint

列或表的單列 CHECK、DEFAULT 或 FOREIGN KEY 約束。1 = True,0 = False

IsDefault

綁定的默認值。1 = True,0 = False

IsDefaultCnst

DEFAULT 約束。1 = True,0 = False

IsDeterministic

函數或視圖的確定性屬性。1 = True,0 = False

IsEncrypted

指示模塊語句的原始文本已轉換為模糊格式。模糊代碼的輸出在 SQL Server 2005 的任何目錄視圖中都不能直接顯示。對系統表或數據庫文件沒有訪問權限的用戶不能檢索模糊文本。但是,能夠通過 DAC 端口訪問系統表的用戶或能夠直接訪問數據庫文件的用戶可以檢索此文本。此外,能夠向服務器進程附加調試器的用戶可在運行時從內存中檢索原始過程。1 = 已加密,0 = 未加密,基本數據類型:int

IsExecuted

可執行對象(視圖、過程、函數或觸發器)。1 = True,0 = False

IsExtendedProc

擴展過程。1 = True,0 = False

IsForeignKey

FOREIGN KEY 約束。1 = True,0 = False

IsIndexed

包含索引的表或視圖。1 = True,0 = False

IsIndexable

可以創建索引的表或視圖。1 = True,0 = False

IsInlineFunction

內聯函數。1 = True,0 = False

IsMSShipped

安裝 SQL Server 過程中創建的對象。1 = True,0 = False

IsPrimaryKey

PRIMARY KEY 約束。1 = True,0 = False ,NULL = 非函數,或對象 ID 無效。

IsProcedure

過程。1 = True,0 = False

IsQuotedIdentOn

指定對象的引號標識符設置為 ON。這表示用英文雙引號分隔對象定義中涉及的所有表達式中的標識符。1 = ON,0 = OFF

IsQueue

Service Broker 隊列.1 = True,0 = False

IsReplProc

復制過程。1 = True,0 = False

IsRule

綁定規則。1 = True,0 = False

IsScalarFunction

標量值函數。1 = 標量值函數,0 = 非標量值函數

IsSchemaBound

使用 SCHEMABINDING 創建的綁定到架構的函數或視圖。1 = 綁定到架構,0 = 不綁定架構。

IsSystemTable

系統表。1 = True,0 = False

IsTable

表。1 = True,0 = False

IsTableFunction

表值函數。1 = 表值函數.0 = 非表值函數

IsTrigger

觸發器。1 = True,0 = False

IsUniqueCnst

UNIQUE 約束。1 = True,0 = False

IsUserTable

用戶定義的表。1 = True,0 = False

IsView

視圖。1 = True,0 = False

OwnerId

對象的所有者。

TableDeleteTrigger

表具有 DELETE 觸發器。>1 = 指定類型的第一個觸發器的 ID。

TableDeleteTriggerCount

表具有指定數目的 DELETE 觸發器。>0 = DELETE 觸發器數目。

TableFullTextMergeStatus

表所具有的全文索引當前是否正在合并。0 = 表沒有全文索引,或者全文索引未在合并。1 = 全文索引正在合并。

TableFullTextBackgroundUpdateIndexOn

表已啟用全文后臺更新索引(自動更改跟蹤)。1 = True,0 = False

TableFulltextCatalogId

表的全文索引數據所在的全文目錄的 ID。非零 = 全文目錄 ID,它與全文索引表中標識行的唯一索引相關。0 = 表沒有全文索引。

TableFulltextChangeTrackingOn

表已啟用全文更改跟蹤。1 = True,0 = False

TableFulltextDocsProcessed

自開始全文索引以來所處理的行數。在為進行全文搜索而正在編制索引的表中,將一個行的所有列視為要編制索引的文檔的一部分。0 = 沒有完成的活動爬網或全文索引。> 0 = 以下選項之一:

· 自從開始完整、增量或手動更改跟蹤填充以來,由插入或更新操作處理的文檔數。

· 自從執行以下操作以來由插入或更新操作處理的行數:啟用具有后臺更新索引填充功能的更改跟蹤、更改全文索引架構、重建全文目錄或重新啟動 SQL Server 的實例等。

NULL = 表沒有全文索引。

TableFulltextFailCount

全文搜索未編制索引的行數。

0 = 填充已完成。

> 0 = 以下選項之一:

· 自從開始完整、增量和手動更新更改跟蹤填充以來未編制索引的文檔數。

· 對于具有后臺更新索引功能的更改跟蹤,則為自從開始填充或重新啟動填充以來未編制索引的行數。這可能由架構更改、目錄重建、服務器重新啟動等引起。

NULL = 表沒有全文索引。

TableFulltextItemCount

成功編制了全文索引的行數。

TableFulltextKeyColumn

與參與全文索引定義的單列唯一索引關聯的列的 ID。

0 = 表沒有全文索引。

TableFulltextPendingChanges

要處理的掛起更改跟蹤項的數目。

0 = 未啟用更改跟蹤。

NULL = 表沒有全文索引。

TableFulltextPopulateStatus

0 = 空閑。

1 = 正在進行完全填充。

2 = 正在進行增量填充。

3 = 正在傳播所跟蹤的更改。

4 = 正在進行后臺更新索引(例如,自動跟蹤更改)。

5 = 全文索引已中止或暫停。

TableHasActiveFulltextIndex

表具有活動的全文索引。

1 = True

0 = False

TableHasCheckCnst

表具有 CHECK 約束。

1 = True

0 = False

TableHasClustIndex

表具有聚集索引。

1 = True

0 = False

TableHasDefaultCnst

表具有 DEFAULT 約束。

1 = True

0 = False

TableHasDeleteTrigger

表具有 DELETE 觸發器。

1 = True

0 = False

TableHasForeignKey

表具有 FOREIGN KEY 約束。

1 = True

0 = False

TableHasForeignRef

表由 FOREIGN KEY 約束引用。

1 = True

0 = False

TableHasIdentity

表具有標識列。

1 = True

0 = False

TableHasIndex

表具有任意類型的索引。

1 = True

0 = False

TableHasInsertTrigger

對象具有 INSERT 觸發器。

1 = True

0 = False

TableHasNonclustIndex

表有非聚集索引。

1 = True

0 = False

TableHasPrimaryKey

表具有主鍵。

1 = True

0 = False

TableHasRowGuidCol

表的 uniqueidentifier 列具有 ROWGUIDCOL。

1 = True

0 = False

TableHasTextImage

表具有 text、ntext 或 image 列。

1 = True

0 = False

TableHasTimestamp

表具有 timestamp 列。

1 = True

0 = False

TableHasUniqueCnst

表具有 UNIQUE 約束。

1 = True

0 = False

TableHasUpdateTrigger

對象有 UPDATE 觸發器。

1 = True

0 = False

TableHasVarDecimalStorageFormat

為 vardecimal 存儲格式啟用表。

1 = True

0 = False

TableInsertTrigger

表具有 INSERT 觸發器。

>1 = 指定類型的第一個觸發器的 ID。

TableInsertTriggerCount

表有指定數目的 INSERT 觸發器。

>0 = INSERT 觸發器的個數。

TableIsFake

表不是真實的表。它將由 SQL Server 數據庫引擎根據需要在內部進行具體化。

1 = True

0 = False

TableIsLockedOnBulkLoad

bcp 或 BULK INSERT 作業導致表被鎖。

1 = True

0 = False

TableIsPinned

駐留表以將其保留在數據緩存中。

0 = False

SQL Server 2005 及更高版本不支持此功能。

TableTextInRowLimit

text in row 允許的最大字節數。

如果未設置 text in row 選項,則返回 0。

TableUpdateTrigger

表具有 UPDATE 觸發器。

>1 = 指定類型的第一個觸發器的 ID。

TableUpdateTriggerCount

表有指定數目的 UPDATE 觸發器。

> 0 = UPDATE 觸發器的個數。

TableHasColumnSet

表具有列集。

0 = False

1 = True

有關詳細信息,請參閱使用列集。

轉載于:https://www.cnblogs.com/zhaozhan/archive/2010/05/20/1740352.html

總結

以上是生活随笔為你收集整理的【SQL基础】T-SQL函数类型——元数据函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。