??
1、sysobjects?
?? 系统对象表。 保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等
?? sysobjects 重要字段解释:
sysObjects ( ? Name sysname,????? --object 名称 ? id?? int,????????? --object id ? xtype char(2),???? -- object 类型?? ? type? char(2),???? -- Object 类型(与xtype 似乎一模一样)? ? uid?? smallint,???? -- object 所有者的ID ? ...??????????????? --其他的字段不常用到。?? )
注:需要解释的是 xtype 和type 是一模一样的,他的数据为:
C = CHECK 约束? D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束? FN = 标量函数 IF = 内嵌表函数 K = PRIMARY KEY 或 UNIQUE 约束? L = 日志 P = 存储过程 R = 规则 RF = 复制筛选存储过程 S = 系统表? TF = 表函数 TR = 触发器 U = 用户表 V = 视图 X = 扩展存储过程
?
2、sysolumns
|
当前数据库的所有字段都保留在里面。
重要字段解释:
sysColumns (
? name???? sysname,?? --字段名称
? id?????? int,??????? --该字段所属的表的ID
? xtype??? tinyInt,??? --该字段类型,关联sysTypes表
? length?? smallint,?? --该字段物理存储长度
? ...
)
3、SQL中的sysobjects与syscolumns
查看所有表名:
select???name???from???sysobjects???where???type='U'
查询表的所有字段名:
Select?name?from?syscolumns?Where?ID=OBJECT_ID('表名')
或select col.name from sysobjects obj,syscolumns col
?????????????? where obj.id=col.id and obj.name='表名''
4、SQL中object_id函数的用法
int object_id('objectname');
此方法返回数据库对象标识号。
其中,参数objectname 表示要使用的对象,其数据类型为nchar或char(如果为char,系统将其转换为nchar)
返回类型为int,表示该对象在系统中的编号。
比如:
use wf_timesheet
select object_id('usp_check_excess_hours')
sql server系统表详细说明 :http://www.blogjava.net/i369/articles/149448.html
Sqlserver 中系统表sysobjects、syscolumns以及函数object_id :http://blog.csdn.net/hjm131617/article/details/5332995
SQL获取所有数据库名、表名、储存过程以及参数列表 :http://www.voidcn.com/article/p-zizpjeoh-bko.html