我想把数据库中所有的表,每个有多少条数据全部统计出来

我想把数据库中所有的表,每个有多少条数据全部统计出来,第1张

declare @ssql nvarchar(4000)

declare @name varchar(100)

declare @tReturn table(name varchar(100),num int)

declare @i int,@count int,@num int

declare @t table(i int,name varchar(100))

insert into @t(name) select name from dbosysobjects where type = 'U'

set @i=0

update @t set i=@i,@i=@i+1

select @count=count() from @t

set @i=1

while @i<=@count

begin

select @name=name from @t where i=@i

set @ssql= N'select @num=count() from '+@name

exec sp_executesql @ssql,N'@num int out',@num out

insert into @tReturn values(@name,@num)

select @i=@i+1

end

select from @tReturn order by num

--在sql数据库后台运行

select from A inner join B on (AId=BAid) where Aage<16 and B所选课程=数学

(AId=BAid)是A表和B表的关系

Sql语句是这样的

个人感觉下面这个应该差不多,你问题是sum这个值sql并不知道要怎么去统计,所以就没办法更新。

update A,(select 部门名称 sum(金额) as 汇总金额 from B) as C set A金额=C汇总金额 where A 部门名称=C 部门名称

(1) 数据库中的不同的表一般对应不同的实体,不同的实体具有不同的属性,如果将所有的表都汇总成一张表,则需要将所有的属性都集合在一起,不管哪个实体有没有,然后在没有此属性的实体赋值时,赋值为空,这严重浪费了磁盘的空间吧。

(2)数据库中每张表都存储一定的记录,若将所有的记录都汇总成一张表,你查询的时候,速度将会非常慢,数据库查询的时候,你给它表名,它根据表名找到此表,然后一条一条的查询记录,但若都集中的一张表中,那此表的记录将时原来分开表中记录的n多倍,那得查询多少时间啊??

试一下如下代码:

Private Sub Command1_Click()

Dim ADOrs As New Recordset

Dim ADOcn As New ADODBConnection

Dim Yourt As New ADODBRecordset

Dim Mystr As String

ADOcnOpen "Provider=MicrosoftJetOLEDB40;Persist Security Info=False;Data Source=d:\db1mdb" '修改成自己的文件路径及名称

Print "表名", "记录数"

Set ADOrs = ADOcnOpenSchema(adSchemaTables)

Do Until ADOrsEOF

If ADOrs("Table_type") = "TABLE" And Left(ADOrs("Table_name"), 7) <> "~TMPCLP" Then

Mystr = "select from " & ADOrs!table_name

YourtOpen Mystr, ADOcn, 3, 1

Print ADOrs!table_name, str(YourtRecordCount)

ADOrsMoveNext

YourtClose

Set Yourt = Nothing

Else

ADOrsMoveNext

End If

Loop

End Sub

以上就是关于我想把数据库中所有的表,每个有多少条数据全部统计出来全部的内容,包括:我想把数据库中所有的表,每个有多少条数据全部统计出来、sql数据库中多表如何统计总数、数据库A,B两张表 A表为汇总表,B为明细表,从B表中取合计值 数据更新到A表,SQL语句 怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9380040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存