1.系统表sysobjects@H_403_1@
在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。@H_403_1@
列名 | 数据类型 | 说明 |
---|---|---|
name@H_403_1@ |
sysname@H_403_1@ |
对象名@H_403_1@ |
id@H_403_1@ |
int@H_403_1@ |
对象标识号@H_403_1@ |
xtype@H_403_1@ |
char(2)@H_403_1@ |
对象类型。可以是以下对象类型之一:@H_403_1@ C = CHECK 约束@H_403_1@ D = 默认值或 DEFAULT 约束@H_403_1@ F = FOREIGN KEY 约束@H_403_1@ L = 日志@H_403_1@ IT = 内部表@H_403_1@ P = 存储过程@H_403_1@ PC = 程序集 (CLR) 存储过程@H_403_1@ PK = PRIMARY KEY 约束(类型为 K)@H_403_1@ RF = 复制筛选存储过程@H_403_1@ S = 系统表@H_403_1@ SN = 同义词@H_403_1@ SQ = 服务队列@H_403_1@ TA = 程序集 (CLR) DML 触发器@H_403_1@ TT = 表类型@H_403_1@ UQ = UNIQUE 约束(类型为 K)@H_403_1@ V = 视图@H_403_1@ X = 扩展存储过程@H_403_1@ |
uid@H_403_1@ |
smallint@H_403_1@ |
对象所有者的架构 ID。@H_403_1@ 对于从旧版 sql Server 升级的数据库,架构 ID 等于所有者的用户 ID。@H_403_1@ sql.105).gif src="http://i.msdn.microsoft.com/Hash/030c41d9079671d09a62d8e2c1db6973.gif" xmlns="">重要提示: 如果使用以下任何一个 sql Server DDL 语句,则必须使用 sys.objects 目录视图而不是 sys.sysobjects。 CREATE | ALTER | DROP USER CREATE | ALTER | DROP ROLE CREATE | ALTER | DROP APPLICATION ROLE CREATE SCHEMA ALTER AUTHORIZATION ON OBJECT @H_403_1@ 如果用户数和角色数超过 32,767,则发生溢出或返回 NULL。@H_403_1@ 有关详细信息,请参阅查询 SQL Server 系统目录。@H_403_1@ |
info@H_403_1@ |
smallint@H_403_1@ |
|
status@H_403_1@ |
int@H_403_1@ |
|
base_schema_ver@H_403_1@ |
int@H_403_1@ |
|
replinfo@H_403_1@ |
int@H_403_1@ |
|
parent_obj@H_403_1@ |
int@H_403_1@ |
父对象的对象标识号。例如,表 ID(如果父对象是触发器或约束)。@H_403_1@ |
crdate@H_403_1@ |
datetime@H_403_1@ |
对象的创建日期。@H_403_1@ |
ftcatid@H_403_1@ |
smallint@H_403_1@ |
|
schema_ver@H_403_1@ |
int@H_403_1@ |
|
stats_schema_ver@H_403_1@ |
int@H_403_1@ |
|
type@H_403_1@ |
char(2)@H_403_1@ |
对象类型。可以是下列值之一:@H_403_1@ C = CHECK 约束@H_403_1@ D = 默认值或 DEFAULT 约束@H_403_1@ F = FOREIGN KEY 约束@H_403_1@ FT = 程序集 (CLR) 表值函数 IF = 内联表函数@H_403_1@ IT - 内部表@H_403_1@ K = PRIMARY KEY 或 UNIQUE 约束@H_403_1@ L = 日志@H_403_1@ P = 存储过程@H_403_1@ PC = 程序集 (CLR) 存储过程@H_403_1@ R = 规则@H_403_1@ RF = 复制筛选存储过程@H_403_1@ S = 系统表@H_403_1@ SN = 同义词@H_403_1@ SQ = 服务队列@H_403_1@ TA = 程序集 (CLR) DML 触发器@H_403_1@ TT = 表类型@H_403_1@ V = 视图@H_403_1@ X = 扩展存储过程@H_403_1@ |
userstat@H_403_1@ |
smallint@H_403_1@ |
|
sysstat@H_403_1@ |
smallint@H_403_1@ |
|
indexdel@H_403_1@ |
smallint@H_403_1@ |
|
refdate@H_403_1@ |
datetime@H_403_1@ |
|
version@H_403_1@ |
int@H_403_1@ |
|
deltrig@H_403_1@ |
int@H_403_1@ |
|
instrig@H_403_1@ |
int@H_403_1@ |
|
updtrig@H_403_1@ |
int@H_403_1@ |
|
seltrig@H_403_1@ |
int@H_403_1@ |
|
category@H_403_1@ |
int@H_403_1@ |
用于发布、约束和标识。@H_403_1@ |
cache@H_403_1@ |
smallint@H_403_1@ |
参考 sys.sysobjects (Transact-SQL)@H_403_1@
@H_403_1@
2.syscolumns@H_403_1@
为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行。@H_403_1@
列名 | 数据类型 | 说明 |
---|---|---|
name@H_403_1@ |
sysname@H_403_1@ |
|
id@H_403_1@ |
int@H_403_1@ |
此列所属表的对象 ID,或者与此参数关联的存储过程的 ID。@H_403_1@ |
xtype@H_403_1@ |
tinyint@H_403_1@ |
sys.types中的物理存储类型。@H_403_1@ |
typestat@H_403_1@ |
tinyint@H_403_1@ |
|
xusertype@H_403_1@ |
smallint@H_403_1@ |
扩展的用户定义数据类型的 ID。如果数据类型的数字超过 32,767,则溢出或返回 NULL。有关详细信息,请参阅查询 SQL Server 系统目录。@H_403_1@ |
length@H_403_1@ |
smallint@H_403_1@ |
sys.types中的最大物理存储长度。@H_403_1@ |
xprec@H_403_1@ |
tinyint@H_403_1@ |
|
xscale@H_403_1@ |
tinyint@H_403_1@ |
|
colid@H_403_1@ |
smallint@H_403_1@ |
列 ID 或参数 ID。@H_403_1@ |
xoffset@H_403_1@ |
smallint@H_403_1@ |
|
bitpos@H_403_1@ |
tinyint@H_403_1@ |
|
reserved@H_403_1@ |
tinyint@H_403_1@ |
|
colstat@H_403_1@ |
smallint@H_403_1@ |
|
cdefault@H_403_1@ |
int@H_403_1@ |
此列的默认值的 ID。@H_403_1@ |
domain@H_403_1@ |
int@H_403_1@ |
此列的规则或 CHECK 约束的 ID。@H_403_1@ |
number@H_403_1@ |
smallint@H_403_1@ |
过程分组时的子过程号。@H_403_1@ 0 = 非过程项@H_403_1@ |
colorder@H_403_1@ |
smallint@H_403_1@ |
|
autoval@H_403_1@ |
varbinary(8000)@H_403_1@ |
|
offset@H_403_1@ |
smallint@H_403_1@ |
此列所在行的偏移量。@H_403_1@ |
collationid@H_403_1@ |
int@H_403_1@ |
列的排序规则的 ID。对于非字符列,此值为 NULL。@H_403_1@ |
status@H_403_1@ |
tinyint@H_403_1@ |
0x08 = 列允许空值。@H_403_1@ 0x10 = 添加 varchar或varbinary列时,执行 ANSI 填充。保留varchar列的尾随空格以及varbinary列的尾随零。@H_403_1@0x40 = 参数为 OUTPUT 参数。@H_403_1@ 0x80 = 列为标识列。@H_403_1@ |
type@H_403_1@ |
tinyint@H_403_1@ |
sys.types中的物理存储类型。@H_403_1@ |
usertype@H_403_1@ |
smallint@H_403_1@ |
sys.types中的用户定义数据类型的 ID。如果数据类型数超过 32767,则会发生溢出或返回 NULL。有关详细信息,请参阅查询 SQL Server 系统目录。@H_403_1@ |
printfmt@H_403_1@ |
varchar(255)@H_403_1@ |
|
prec@H_403_1@ |
smallint@H_403_1@ |
此列的精度级别。@H_403_1@ -1 = xml或大值类型。@H_403_1@ |
scale@H_403_1@ |
int@H_403_1@ |
此列的小数位数。@H_403_1@
NULL = 数据类型不是数值。@H_403_1@ |
iscomputed@H_403_1@ |
int@H_403_1@ |
指示列是否为计算列的标志:@H_403_1@ 0 = 非计算列。@H_403_1@ 1 = 计算列。@H_403_1@ |
isoutparam@H_403_1@ |
int@H_403_1@ |
1 = True@H_403_1@ 0 = False@H_403_1@ |
isnullable@H_403_1@ |
int@H_403_1@ |
指示列是否允许空值:@H_403_1@ 1 = True@H_403_1@ 0 = False@H_403_1@ |
collation@H_403_1@ |
sysname@H_403_1@ |
参考 sys.syscolumns (Transact-SQL)@H_403_1@
@H_403_1@
declare dlist cursor for
select name from sysobjects where xtype='U'
open dlist
declare @n varchar(4000)
fetch next from dlist into @n
while @@fetch_status=0
begin
declare @es varchar(4000)
set @es='DROPtable '+@n
exec( @es)
fetch next from dlist into @n
end
close dlist
DEALLOCATE dlist@H_403_1@ 原文链接:https://www.f2er.com/mssql/64110.html