如何用存储过程列出所有用户表及其记录数?
<P>如何用存储过程列出所有用户表及其记录数?</P><P>结果样板如下:</P>
<P>表名 |记录数</P>
<P>talbe1 20</P>
<P>table2 50</P>
<P>……</P> <P>你可以通过系统表:sysobjects ,sysindexes</P> 或者使用row_count()函数,注意版本。 <P>sybase11.5;294个表名;</P>
<P>1、创建临时表(保存所有表名),</P>
<P>2(问题)、利用游标,扫描临时表,边扫边逐行统计表记录,但该版本不认@@FETCH_STATUS和FETCH NEXT ,我该如何实现WHILE循环?</P>
<P>3(问题)、SQL语句可以定义数组吗?</P>
<P>4(问题)、我挨逐表SELECT COUNT(*) FROM <STRONG><U>tablename</U></STRONG>,此处tablename</P>
<P>要是能用变量就好了。</P>
<P>过程前半部如下:</P>
<P>CREATE PROCEDURE dbo.Pro_CountAllTableRowList;1 <BR>AS <BR> BEGIN <BR> declare @Rcount int,@Tname char(20)<BR> create table #TempAllTableRowsCount<BR> (name varchar(30) not null,<BR> rowscount int null)<BR> insert #TempAllTableRowsCount(name)<BR> select name <BR> from sysobjects <BR> where type = 'U'<BR> order by name<BR> <BR> -------------------<BR> update #TempAllTableRowsCount<BR> set rowscount=(select count(*) from WebConnection)<BR> where name='WebConnection'<BR> ----------------<BR> --select * from #TempAllTableRowsCount<BR> /*select count(*) from WebConnection<BR> select count(*) from WebData<BR> select count(*) from WebDocumentType<BR> select count(*) from WebSynchronize<BR> select count(*) from WebTemplate</P>
<P>……</P>
<P>……</P> <P>之所以想要这个列表,是因为想检查新数据库中表记录倒入(bcp)是否和原数据库中的表的记录条数一样.</P>
<P>只是想验证一下,放心一点.</P>
页:
[1]