【转】MSSQL中数据库对象类型解释--觉得很好,自己存档
2012-11-18 11:41
387 查看
出处:http://blog.ueren.com/?tag=sysobjects
public string GetObjectTypeName(object oType) { switch (oType+"") { case "U": return "用户表"; case "V": return "视图"; case "P": return "存储过程"; case "TF": return "表函数"; case "FN": return "标量函数"; case "C": return "CHECK约束"; case "D": return "默认值或DEFAULT约束 "; case "F": return "FOREIGN KEY 约束 "; case "IF": return "内嵌表函数 "; case "K": return "PRIMARY KEY或 UNIQUE约束"; case "L": return "日志"; case "R": return "规则"; case "RF": return "复制筛选存储过程"; case "S": return "系统表"; case "TR": return "触发器"; case "X": return "扩展存储过程"; } return ""; }
查询数据库脚本:
SELECT name AS DbName,[dbid] As DbId,filename As FileName FROM [Master].dbo.[sysdatabases] Where dbid>4 Order by name
查询表脚本:
SELECT [{0}].dbo.sysobjects.name As TableName,id As TableId, (Select top 1 rowcnt From [{0}].dbo.sysindexes Where id=[{0}].dbo.sysobjects.id) As RecordCount, ISNULL(E.name,'') As PropertyName, ISNULL(E.value,'') As PropertyValue FROM [{0}].dbo.sysobjects LEFT JOIN sys.extended_properties E ON E.major_id=[{0}].dbo.sysobjects.id AND E.minor_id=0 Where xtype='U' AND [{0}].dbo.sysobjects.name not in ('dtproperties','sysdiagrams') Order By [{0}].dbo.sysobjects.name
查询数据库对象脚本:
SELECT T.name As ObjectName,T.id As ObjectId,rTRIM(T.xtype) AS ObjectType, (SELECT Top 1 A.[definition] FROM [{0}].sys.sql_modules A JOIN [{0}].sys.objects B ON A.object_id = B.object_id Where B.name=T.name) As ObjectDefinition FROM [{0}].dbo.sysobjects T Where xtype in ( N'P', N'PC',N'FN', N'IF', N'TF', N'FS', N'FT', N'V',N'TR') AND T.name not in ('dtproperties','sysdiagrams') Order By T.name
查询列与字段:
Select C.name As TableName, C.id As TableObjectId, A.name As ColumnName, A.colid As ColumnObjectId, A.[length] As ColumnLength, B.name As ColumnDataType, ISNULL(D.[text],'') AS DefaultValue, ISNULL(E.name,'') As PropertyName, ISNULL(E.value,'') As PropertyValue, COLUMNPROPERTY(A.id,A.name, 'AllowsNULL') AS AllowsNull, COLUMNPROPERTY(A.id,A.name, 'IsCursorType') AS IsCursorType, COLUMNPROPERTY(A.id,A.name, 'IsIdentity') AS IsIdentity, (Select Count(1) From sysobjects INNER JOIN sysindexes ON sysobjects.parent_obj=sysindexes.id AND sysobjects.name=sysindexes.name INNER JOIN sysindexkeys ON sysindexes.id=sysindexkeys.id AND sysindexes.indid=sysindexkeys.indid Where sysobjects.xtype='PK' AND sysobjects.parent_obj=A.id AND sysindexkeys.colid=A.colid) AS IsPrimaryKey From dbo.syscolumns A INNER JOIN dbo.systypes B ON B.xusertype=A.xtype INNER JOIN dbo.sysobjects C ON C.id=A.id AND C.xtype IN ('U','V') AND C.name not in ('dtproperties','sysdiagrams') LEFT JOIN dbo.syscomments D ON A.cdefault = D.id LEFT JOIN sys.extended_properties E ON E.major_id=A.id AND E.minor_id=A.colid order by A.colid
查询约束脚本:
SELECT b.rkeyid AS MasterTableObjectId, object_name(b.rkeyid) AS MasterTableName, b.rkey As MasterColumnObjectId, (SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid) AS MasterColumnName, b.fkeyid AS ForeignTableObjectId, object_name(b.fkeyid) AS ForeignTableName, b.fkey AS ForeignColumnObjectId, (SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid) As ForeignColumnName, ObjectProperty(a.id,'CnstIsUpdateCascade') AS UpdateCascade, ObjectProperty(a.id,'CnstIsDeleteCascade') AS DeleteCascade FROM sysobjects a join sysforeignkeys b on a.id=b.constid join sysobjects c on a.parent_obj=c.id WHERE a.xtype='F' AND c.xtype='U'
相关文章推荐
- MSSQL中数据库对象类型解释
- 对象中某属性在数据库中是Date类型 页面显示格式转换
- 过滤器的使用,这个方法可以在选择对象时候过滤到其他的只选自己想要的类型。
- 127.Oracle数据库SQL开发之 数据库对象——类型继承
- Oracle/MSSQL/Mysql 常用数据库的字段类型及大小
- Oracle(一)--> 数据库对象详解(文字解释,先有个小理解~)
- TreeSet集合存放自定义类型的对象,可以使用比较器,实现Comparable接口自己设置排序方式
- 请解释一下数据库的三种:1 网状,层次数据库 2 关系数据库 3 以对象模型为主要特征的数据库技术
- sp_rename 更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
- JDBC:数据库自定义类型与Java类的映射—将对象存储在关系数据库中(二)
- mssql里判断数据库对象是否存在的语句
- 用类名做方法的返回值类型 在学习Java的初始阶段,很多同学使用基本数据类型定义变量和引用类型定义变量以及使用类名做方法的返回值类型常常不知所以。今天我以自己的解读方式和个人的理解作一个简单的解释,和
- 怎样制定自己的SQL Server 2000触发器-Mssql数据库教程
- 128.Oracle数据库SQL开发之 数据库对象——用子类型对象代替超类型对象
- 使用"类型文件"(typed File),创建自己的"数据库"
- Oracle/MSSQL/Mysql 常用数据库的字段类型及大小
- ADO对象——获取数据库字段的数据类型
- MSSQL数据库和C#数据类型的对应关系
- MSSQL数据库的字段类型总结
- Mysql常见的几种数据库类型解释