欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【理解 SQL Server 中系统表Sysobjects】,下面是详细的分享!
理解 SQL Server 中系统表Sysobjects
关于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=<type of interest>
在特殊情况下,也就是在父表格拥有触发器的情况下,你可能想要用下面这样的代码查找数据库:
|
以下为引用的内容: SELECT |
在SQL Server 2005里,首选的技术是使用系统视图。这种方式会把你的查询同微软选择对系统表格进行的任何改变隔绝开来。
下面是一个简单的例子,它使用了INFORMATION_SCHEMA_TABLES视图:
|
以下为引用的内容: SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE |
对于AdventureWorks数据库或者任何你自己的数据库,使用这个查询可以产生一个表格快速列表。
为了说明这些架构查询的能力,看下面的语句,它们列出所选数据库里所有的函数和存储过程。
SELECT*FROMINFORMATION_SCHEMA.ROUTINES
ORDERBY ROUTINE_TYPE, ROUTINE_NAME
市面上有20种这样的信息架构视图。如果你需要将数据库归档,而且无法承担商业解决方案,例如Red Gate或者Apex提供的方案的话,那么通过这些视图和一点点试验,你就可以让SQL Server给自己生成文档了。
以上所分享的是关于理解 SQL Server 中系统表Sysobjects,下面是编辑为你推荐的有价值的用户互动:
相关问题:sqlserver 数据库的系统表在哪,例如sysobjects sys...
答:sqlserver 数据库的系统表sysobjects sysdatabases等在master库中。其实正确地说,这些是视图,并不是表,可按如下方法查看。 1、登录sqlserver数据库。 2、依次点击数据库——master——视图——系统视图。 3、可看到要找的sysobjects sysdatabases >>详细
相关问题:sql,select * from sysobjects,这个sysobjects表...
答:系统表 说白了就是定义 各种表里的字段的类型,大小,主键,表关系, 就是一般表里没有的,把他们放到特定的表里。多select看看就知道了, mssql,oracle,mysql 都有的。 >>详细
相关问题:SQL数据库系统表sysobjects里存的都是什么??
答:系统表sysobjects保存的都是数据库对象,包括: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束L = 日志FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程S = 系统表TF = 表... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
