sysobjects 表
在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。
列名 数据类型 描述
name sysname 对象名。
Id int 对象标识号。
xtype char(2) 对象类型。可以是下列对象类型中的一种:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
uid smallint 所有者对象的用户 ID。
info smallint 保留。仅限内部使用。
status int 保留。仅限内部使用。
base_schema_
ver int 保留。仅限内部使用。
replinfo int 保留。供复制使用。
parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。
crdate datetime 对象的创建日期。
ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver int 版本号,该版本号在每次表的架构更改时都增加。
stats_schema_
ver int 保留。仅限内部使用。
type char(2) 对象类型。可以是下列值之一:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
userstat smallint 保留。
sysstat smallint 内部状态信息。
indexdel smallint 保留。
refdate datetime 留作以后使用。
version int 留作以后使用。
deltrig int 保留。
instrig int 保留。
updtrig int 保留。
seltrig int 保留。
category int 用于发布、约束和标识。
cache smallint 保留。
可以很方便的用
select * from sysobjects where xtype='TR' and parent_obj=object_id('表名')
查出表的信息
syscolumns表内的xtype
查了一下,这些东西都是存于每一个数据库的syscolumns表里面得,name就是列名,xtype就是数据类型,但是这个xtype是数字的,下面是数字和数据类型对应的关系;
xtype=34 'image'
xtype= 35 'text'
xtype=36 'uniqueidentifier'
xtype=48 'tinyint'
xtype=52 'smallint'
xtype=56 'int'
xtype=58 'smalldatetime'
xtype=59 'real'
xtype=60 'money'
xtype=61 'datetime'
xtype=62 'float'
xtype=98 'sql_variant'
xtype=99 'ntext'
xtype=104 'bit'
xtype=106 'decimal'
xtype=108 'numeric'
xtype=122 'smallmoney'
xtype=127 'bigint'
xtype=165 'varbinary'
xtype=167 'varchar'
xtype=173 'binary'
xtype=175 'char'
xtype=189 'timestamp'
xtype=231 'nvarchar'
xtype=239 'nchar'
xtype=241 'xml'
xtype=231 'sysname'
分享到:
相关推荐
最后,SQL2005引入了一组新的大数据类型,如`varchar(max)`、`nvarchar(max)`和`varbinary(max)`,这些都是对原有`varchar`、`nvarchar`和`varbinary`类型的扩展,最大可以存储2GB的数据。这些新类型与`text`、`...
- 对于每个表,再遍历所有字符类型字段(`syscolumns`表中`xtype`为`231, 167, 239, 175`分别对应`CHAR`, `VARCHAR`, `NCHAR`, `NVARCHAR`类型)。 - 构建动态SQL语句,使用`REPLACE`函数替换指定的恶意数据(`@...
### 导出SQL Server 2005表字段信息说明 在进行数据库管理与维护时,经常需要了解数据库中各个表的字段详细信息,包括字段名称、数据类型、是否为主键、长度、精度等属性。本文将通过一个SQL查询语句来详细解析如何...
本文将详细介绍SQL建表查询的相关知识点,包括获取所有用户名、数据库名、表名、字段名、数据库类型、主键字段等信息,并且提供了附加数据库、分离数据库的操作命令。 获取所有用户名 在SQL Server中,我们可以使用...
要获取数据库中的所有数据类型,可以使用以下SQL语句: ```sql SELECT name FROM sys.types; ``` 对于较旧的SQL Server版本,可以使用: ```sql SELECT name FROM systypes; ``` #### 六、获取主键字段 要获取...
根据对象类型(存储过程、触发器、函数等),构造相应的SQL语句,以还原出未加密的源代码。 ```sql DECLARE @sql1 nvarchar(4000), @sql2 varchar(8000), @sql3 nvarchar(4000), @sql4 nvarchar(4000) DECLARE @...
SQL Server数据库字典可以帮助我们清晰地看到每张表的结构、各字段的定义等信息。下面将详细介绍如何使用SQL查询快速生成SQL Server数据库的结构字典,并将其格式化输出为易于阅读的HTML文档。 #### SQL查询生成...
这种方法适用于SQL Server,但如果你使用的是其他类型的数据库(如MySQL、Oracle等),查询语法可能会有所不同。对于其他数据库,你需要查阅相应的数据库文档,了解如何查询系统表以获取表信息。 在实际应用中,...
AND (B.xType = 99 OR B.xType = 35 OR B.xType = 231 OR B.xType = 167) -- 指定列类型 OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T, @C WHILE (@@FETCH_STATUS = 0) BEGIN EXEC ('UPDATE [' + @T + ...
通过SQL,我们能够高效地获取数据库中表的列名、数据类型、长度、是否可为空等关键信息,这对于数据库设计、优化、调试以及日常维护都具有不可替代的作用。下面,我们将深入探讨在Oracle、SQL Server以及MySQL三种...
Sql Server 获取 SQL 所有数据库名、所有表名、所有字段名 Sql Server 是一种关系数据库管理系统,用于存储和管理大量的数据。为了更好地管理和维护数据库,需要获取数据库中的各种信息,例如数据库名、表名、字段...
接着,遍历临时表中的所有记录,并根据对象类型(存储过程、触发器或函数)构建相应的解密SQL语句: ```sql SET @number = MAX(number) FROM #temp SET @k = 0 WHILE @k BEGIN IF EXISTS (SELECT 1 FROM ...
systypes st ON sc.xtype = st.xtype WHERE so.name = 'SP_Pagination' ``` 该语句将返回指定存储过程的参数列表,包括参数名、类型和长度等信息。 SQL Server 提供了强大的系统视图和信息架构来帮助开发者和...
以上SQL语句可以用来生成一个包含表名、字段名、字段说明、是否为主键、数据类型、长度、小数位数、是否可空和默认值等信息的数据字典。这种数据字典有助于更好地理解和维护数据库结构。通过适当的调整和优化,可以...
对象的类型可以是触发器、存储过程、函数、视图、表格、约束等,通过 xtype 列可以确定对象的类型。例如,xtype 为 'TR' 的对象是触发器,xtype 为 'P' 的对象是存储过程。 Sysobjects 表格的使用场景非常广泛,...
你可以通过以下SQL查询来获取指定表(例如'usr')的字段名称和数据类型: ```sql SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME = 'usr' ``` 这将返回'usr'表中所有字段的...
请注意,这只是一个基本示例,实际使用时可能需要根据具体需求进行调整,例如,你可能需要排除某些特定的对象,或者只修改特定类型的对象。 在使用上述脚本之前,请务必确保你有足够的权限,并且了解可能影响。修改...
这里`xtype = 'U'`表示选择类型为用户表(User table)的对象。通过这条简单的SQL语句,我们可以快速获取当前数据库中所有的用户表名称。 #### 2. 找出库中所有用户表带有自定义公式的列 如果想要找出哪些用户表...
无论是添加、删除字段,还是修改字段类型,甚至是重命名字段,SQL都能够轻松应对。此外,通过创建视图等方式,我们还能够更方便地获取和理解表字段的信息。这些知识对于数据库管理员和开发人员来说都是非常重要的...
触发器分为两种类型:DML触发器(Data Manipulation Language Triggers)和DDL触发器(Data Definition Language Triggers)。在SQL Server 2000中,DML触发器主要针对INSERT、UPDATE和DELETE操作,而DDL触发器则...