sys.syscomments (Transact-SQL)

包含数据库中每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项。text 列包含原始的 SQL 定义语句。

重要说明重要提示

将此 SQL Server 2000 系统表作为一个视图包含进来是为了保持向后兼容性。建议您改用最新的 SQL Server 系统视图。若要查找一个或多个等效系统视图,请参阅将 SQL Server 2000 系统表映射到 SQL Server 2005 系统视图。后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

列名

数据类型

说明

id

int

该文本适用的对象 ID。

number

smallint

如果进行分组,则为过程分组内的号码。

0 = 项不是过程。

colid

smallint

超过 4,000 个字符的对象定义的行序列号。

status

smallint

标识为仅供参考。不提供支持。不保证以后的兼容性。

ctext

varbinary(8000)

SQL 定义语句的原始字节。

texttype

smallint

0 = 用户提供的注释

1 = 系统提供的注释

4 = 加密的注释

language

smallint

标识为仅供参考。不提供支持。不保证以后的兼容性。

encrypted

bit

指示过程定义是否已经过模糊处理。

0 = 未经模糊处理

1 = 已经模糊处理

重要说明重要提示
若要对存储过程定义进行模糊处理,请使用带 ENCRYPTION 关键字的 CREATE PROCEDURE 语句。

compressed

bit

总是返回 0。该值指示过程已压缩。

text

nvarchar(4000)

SQL 定义语句的实际文本。

SQL Server 2008 对目录元数据中的 SQL 表达式进行解码和存储的方式不同于 SQL Server 2000。解码后的表达式的语义等同于原始文本,但是没有语法保证。例如,解码后的表达式中删除了空格。

此 SQL Server 2000 兼容视图包含来自当前 SQL Server 结构的信息,并且可以返回比 nvarchar(4000) 定义更多的字符。sp_help 返回 nvarchar(4000) 作为文本列的数据类型。在使用 syscomments 时,考虑使用 nvarchar(max)。对于新的开发工作,不要使用 syscomments