词条 | sys.tables |
释义 | 概述sys.tables是sqlserver2005版本中新增一个目录视图,它存储了当前数据库中的所有表信息,在功能上大致和sqlserver2005之前版本的select * from sysobjects where xtype='u'的功能一样。 列说明列名 数据类型 说明 lob_data_space_id int filestream_data_space_id int 仅限内部系统使用。 max_column_id_used int 此表曾使用的最大列 ID。 lock_on_bulk_load bit 锁被锁定于大容量装载。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。 uses_ansi_nulls bit 创建表时,SET ANSI_NULLS 数据库选项设置为 ON。 is_replicated bit 1 = 使用快照复制或事务复制发布表。 has_replication_filter bit 1 = 表具有复制筛选器。 is_merge_published bit 1 = 使用合并复制发布表。 is_sync_tran_subscribed bit 1 = 使用立即更新订阅来订阅表。 has_unchecked_assembly_data bit 1 = 表包含的持久化数据依赖于上次 ALTER ASSEMBLY 期间其定义发生更改的程序集。在下一次成功执行 DBCC CHECKDB 或 DBCC CHECKTABLE 后将重置为 0。 text_in_row_limit int Text in row 的最大允许字节数。 large_value_types_out_of_row bit 1 = 超行存储大值类型。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。 应用示例1,查看当前数据库的所有表select * from sys.tables 2,查询数据库中所有表的数据行数declare @TableName varchar(128) declare @T_TableRows Table ( TableName varchar(128) not null, RowsCount int not null default(0) ) declare cur_table cursor local for select name from sys.tables order by name open cur_table fetch cur_table into @TableName while @@fetch_status = 0 begin insert into @T_TableRows(TableName,RowsCount) exec('select ''' + @TableName + ''',count(*) from ' + @TableName) fetch cur_table into @TableName end close cur_table deallocate cur_table 3,删除数据库中所有表中的数据declare @TableName varchar(128) declare cur_table cursor local for select name from sys.tables order by name open cur_table fetch cur_table into @TableName while @@fetch_status = 0 begin exec('delete from ' + @TableName + ') fetch cur_table into @TableName end close cur_table deallocate cur_table |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。