SQL Server中的syscomments表 解析

sys.syscomments (Transact-SQL) 

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

标签:syscomments 杂谈 

分类:SQLServer

列名

数据类型

说明

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。解码后的表达式的语义等同于原始文本,但是没有语法保证。例如,已解码的表达式中删除了空格。

if exists (select * from dbo.syscomments where id=object_id(N'[dbo].[P_XXXXX]'))

select c.text as sql语句, c.encrypted, convert(nchar(2), o.xtype) as 类型,     datalength(c.text) as 长度 from dbo.syscomments c, dbo.sysobjects o     where o.id = c.id and c.id = object_id(N'[dbo].[P_综合退费_合同号带值2]') order by c.number, c.colid option(robust plan)

posted @ 2009-12-23 16:41  kk.1230  阅读(5746)  评论(3编辑  收藏  举报