sql server系统表详细说明 之 sys.system_columns


具有列的系统对象的每列都对应一行。

 

SYS.SYSTEM_COLUMNS (TRANSACT-SQL)
列名称数据类型说明
object_idint此列所属对象的 ID。
namesysname列的名称。 在对象中是唯一的。
column_idint列的 ID。 在对象中是唯一的。

列 ID 可以不按顺序排列。
system_type_idtinyint列的系统类型的 ID。
user_type_idint用户定义的列类型的 ID。

若要返回类型的名称,请联接到此列上的 sys.types 目录视图。
max_lengthsmallint列的最大长度(以字节为单位)。

-1 = 列数据类型为 varchar (max) 、nvarchar (max) 、varbinary (max) 或 xml

对于 文本****列,max_length 值为 16 或由"行sp_tableoption文本"设置的值。
精度tinyint如果基于数值,则为该列的精度;否则为 0。
scaletinyint如果列包含的是数值,则为列的小数位数;否则为 0。
collation_namesysname如果基于字符,则为该列排序规则的名称;否则为 NULL。
is_nullablebit1 = 列可为空。
is_ansi_paddedbit1 = 如果列为字符、二进制或变量类型,则该列使用 ANSI_PADDING ON 行为。

0 = 列不是字符、二进制或变量类型。
is_rowguidcolbit1 = 列为声明的 ROWGUIDCOL。
is_identitybit1 = 列具有标识值。
is_computedbit1 = 列为计算列。
is_filestreambit1 = 列声明使用 Filestream 存储。
is_replicatedbit1 = 列已复制。
is_non_sql_subscribedbit1 = 列具有非 SQL Server 订阅服务器。
is_merge_publishedbit1 = 列已合并发布。
is_dts_replicatedbit1 = 使用 SSIS 复制列。
is_xml_documentbit1 = 内容为完整的 XML 文档。

0 = 内容是文档片段,或列数据类型不是 xml
xml_collection_idint如果列数据类型为 xml 且 XML 为类型  则为非零。 该值将为包含列的验证 XML 架构命名空间的集合的 ID。

0 = 没有 XML 架构集合。
default_object_idint默认对象的 ID,无论它是独立 sys.sp_bindefault还是内联列级 DEFAULT 约束。 内 parent_object_id 级默认对象的列是返回对表本身的引用。 或者,如果没有默认值,则其值为 0。
rule_object_idint通过使用 ,绑定到列的单独规则的 ID sys.sp_bindrule。

0 = 无独立规则。

有关列级 CHECK 约束,请参阅 sys.check_constraints (Transact-SQL)。
is_sparsebit1 = 列为稀疏列。 有关详细信息,请参阅 使用稀疏列
is_column_setbit1 = 列为列集。 有关详细信息,请参阅 使用列集
generated_always_typetinyint适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。 7、8、9、10仅适用于 SQL 数据库 。

标识生成列值 (对于系统表中的列,将始终为 0) :

0 = NOT_APPLICABLE
1 = AS_ROW_START
2 = AS_ROW_END
7 = AS_TRANSACTION_ID_START
8 = AS_TRANSACTION_ID_END
9 = AS_SEQUENCE_NUMBER_START
10 = AS_SEQUENCE_NUMBER_END

有关详细信息,请参阅 (关系数据库)的临时表 
generated_always_type_descnvarchar(60)适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。

值的文本说明 generated_always_type (始终 NOT_APPLICABLE 系统表中的列)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

适用于:SQL 数据库

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
ledger_view_column_typetinyint适用于: SQL 数据库。

如果不为 NULL,则指示账本视图中列的类型:

1 = TRANSACTION_ID
2 = SEQUENCE_NUMBER
3 = OPERATION_TYPE
4 = OPERATION_TYPE_DESC

有关数据库账本详细信息,请参阅 Azure SQL 数据库 账本
ledger_view_column_type_descnvarchar(60)适用于: SQL 数据库。

如果不为 NULL,则包含账本视图中列类型的文本说明:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
评论列表

发表评论

评论内容
昵称:
关联文章

sql server系统详细说明 sys.system_columns
sql server系统详细说明 sys.all_columns
sql server系统详细说明 sys.columns
sql server系统详细说明 sys.masked_columns
sql server系统详细说明 sys.system_objects
sql server系统详细说明 sys.system_views
sql server系统详细说明 sys.system_parameters
sql server系统详细说明 sys.computed_columns
sql server系统详细说明 sys.stats_columns
sql server系统详细说明 sys.tables
sql server系统详细说明 sys.objects
sql server系统详细说明 sys.parameters
sql server系统详细说明 sys.default_constraints
sql server系统详细说明 sys.databases
sql server系统详细说明 sys.check_constraints
sql server系统详细说明 sys.column_store_dictionaries
sql server系统详细说明 sys.stats
sql server系统详细说明 sys.all_parameters
sql server系统详细说明 sys.column_store_row_groups
sql server系统详细说明 sys.system_sql_modules