Power by DMForum.NET!
RSS | ATOM | WAP
DMForum.NET 官方支持讨论区 > 技术区 > 数据库应用

浏览主题:?????琀栀葞蝎入??洀葞?葞????扶琀栀??洀葞??蝎??????葞???

主题:?????琀栀葞蝎入??洀葞?葞????扶琀栀??洀葞??蝎??????葞???
李昌镐二世
(道道道)
论坛版主
6级
等级:后将军
发帖:244
金钱:1745
经验:11295
性别:帅哥
状态:离线
注册:2006-8-5 18:03:00
兄弟们,我又来问问题了,这次是一个SQL问题  
[ 2007-6-23 9:10:28 ]

declare @sql nvarchar(800)
declare @tablename nvarchar(400)
declare @tname nvarchar(400)
declare @count int
declare @i int
declare @num int
select @num=count(*) from sysobjects where xtype='u'

set @i=1

while @i<=@num
begin
set @sql=N'select @tname = top 1 name from sysobjects where id not in (select top @number id from sysobjects order by id asc)'
select @sql
exec sp_executesql @sql,N'@tname char(400),@number int',@tablename,@i
set @sql=N'select @tname,count(*) from @tname '
exec sp_executesql @sql,N'@tname char(400)',@tablename

set @i = @i+1
end

想实现用户表名和记录数显示的,想不通哪错了,知道的帮俺纠正下错误。

世人爱我
普通会员
4级
等级:职业侠客
发帖:215
金钱:2300
经验:12773
性别:帅哥
状态:离线
注册:2006-8-8 10:44:00
RE:?????琀栀葞蝎入??洀葞?葞????扶琀栀??洀葞??蝎??????葞???  
[ 2007-7-7 10:18:26 ]

如果只是取一个表的记录总数的话,这样子就可以了

select top 1 isnull(a.rowcnt,0) as total from sysindexes a left join sysobjects b on a.id=b.id where b.[name]='表名' and b.xtype='u'

coderlee
普通会员
1级
等级:新手上路
发帖:40
金钱:430
经验:2437
性别:保密
状态:离线
注册:2006-12-11 15:22:00
RE:?????琀栀葞蝎入??洀葞?葞????扶琀栀??洀葞??蝎??????葞???  
[ 2007-7-9 15:23:30 ]

楼上的代码效率高 但是有些投机取巧   假若权限不够访问系统表或数据库版本有变动..
发现一般的做法是自己加个表记录各表总数


回到顶部
Powered by DMForum.NET  1.4 Beta . URIMAP enabled. DEBUG enabled.
Copyright © 2003-2006 Devms.Com. All rights reserved.