理解SQL Server系统表格sysobjects

2026-04-25 04:40 栏目: 技术学堂 查看( )

关于SQL Server数据库的一切信息都保存在它的系统表格里。我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格。但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器。你可以一个一个地检查表格,但是假如你有500个表格的话,这可能会消耗相当大的人工。

这就让sysobjects表格有了用武之地。虽然我不建议你更新这个表格,但是你当然有权对其进行审查。

在大多数情况下,对你最有用的两个列是sysobjects.name和sysobjects.xtype。前面一个用来列出待考察对象的名字,而后一个用来定义对象的类型,其代码如下:

C:检查约束。 D:默认的约束 F:外键约束 L:日志 P:存储过程 PK:主键约束 RF:复制过滤存储过程 S:系统表格 TR:触发器 U:用于表格。 UQ:独特的约束。 V:视图 X:被扩展的存储过程

在碰到触发器的情形下,用来识别触发器类型的其他三个列是:deltrig、instrig和uptrig。

你可以用下面的命令列出感兴趣的所有对象:

SELECT * FROM sysobjects WHERE xtype =

在特殊情况下,也就是在父表格拥有触发器的情况下,你可能想要用下面这样的代码查找数据库:

理解SQL Server系统表格sysobjects(图1)

SELECT 

声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

IT头条

理解SQL Server系统表格sysobjects(图2)
理解SQL Server系统表格sysobjects(图3)
理解SQL Server系统表格sysobjects(图4)
理解SQL Server系统表格sysobjects(图5)
理解SQL Server系统表格sysobjects(图6)

技术热点

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

郑重申明:某某网络以外的任何单位或个人,不得使用该案例作为工作成功展示!