愤怒的大鸟 发表于 2015-1-16 14:09:00

使用SQL查询数据库中一切表的数据行数

这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s或--silent选项的任何一个。明天在客户实行时,因常常性的必要检察用户录进到数据库中数据的数目,以是写了以下SQL语句用来查询数据库中一切表的数据量,公布到此,但愿能给有一样需求的伴侣带来匡助。

declare@TableNamevarchar(128)
declare@T_TableRowsTable
(
TableNamevarchar(128)notnull,--表名
RowsCountintnotnulldefault(0)--数据的数目
)

declarecur_tablecursorlocalfor
selectnamefromsys.tablesorderbyname
opencur_table
fetchcur_tableinto@TableName
while@@fetch_status=0
        begin
        insertinto@T_TableRows(TableName,RowsCount)
        exec(select+@TableName+,count(*)from+@TableName)
        fetchcur_tableinto@TableName
        end
closecur_table
deallocatecur_table


在下面的SQL顶用到了sys.tables表,关于该有的具体用法,请拜见本站:
使用SQL语句查询数据库中一切表

申明:由于sys.tables表只要sql2005今后才有,以是利用Sql2000的伴侣可使用sysobjects表来替换sys.tables表完成该功效:
SQL以下:
declare@TableNamevarchar(128)
declare@T_TableRowsTable(TableNamevarchar(128)notnull,RowsCountintnotnulldefault(0))

declarecur_tablecursorlocalfor
selectnamefromsysobjectswherextype=uorderbyname
opencur_table
fetchcur_tableinto@TableName
while@@fetch_status=0
        begin
        insertinto@T_TableRows(TableName,RowsCount)
        exec(select+@TableName+,count(*)from+@TableName)
        fetchcur_tableinto@TableName
        end
closecur_table
deallocatecur_table

select*from@T_TableRowsorderbyRowsCountdesc,TableName
对于update操作,event中依次记录旧行,新行的值。

若天明 发表于 2015-1-18 12:14:29

但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。

小妖女 发表于 2015-1-26 16:36:37

我个人认为就是孜孜不懈的学习

金色的骷髅 发表于 2015-2-4 20:36:35

总感觉自己还是不会SQL

不帅 发表于 2015-2-10 09:00:11

微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。

愤怒的大鸟 发表于 2015-3-1 07:45:40

相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐

灵魂腐蚀 发表于 2015-3-10 13:11:45

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

小魔女 发表于 2015-3-17 08:11:19

如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
页: [1]
查看完整版本: 使用SQL查询数据库中一切表的数据行数