declare @table_name char(20)
declare @countrow int
select @table_name = 'authors'declare @sql nvarchar(1000)set @sql = N'select @countrow=count(*) from ' + @table_name
execute sp_executesql @sql ,N'@countrow int output' , @countrow output--详见SQL2000联机手册 sp_executesql 用法
declare @countrow int
select @table_name = 'authors'declare @sql nvarchar(1000)set @sql = N'select @countrow=count(*) from ' + @table_name
execute sp_executesql @sql ,N'@countrow int output' , @countrow output--详见SQL2000联机手册 sp_executesql 用法
use pubs
go
declare @table_name
declare @countrow
select @table_name=authors
exec('select @countrow=count(*) from '@table_name)
go可以改为
use pubs
go
declare @countrow Int --加上类型
declare @table_name Nvarchar(20) --加上类型及长度
select @table_name='T1' --表名要加上单引号
exec('select * from '+@table_name)
Set @countrow=@@Rowcount
go
2.
select count(*) from table 时可以等到一个结果
你这样查询时,没有将结果放在那个临时表中3.好像没有哪个系统表存有表的条数。想得到表的条数,直接select count(*) As Count from table 就可以看到啊4. 看看SQL的联机帮助。
这个网页你也可以看看。
http://www.ithome-cn.net/technology/data/data027.htm
syscharsets 主数据库 字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库 当前配置选项
sysdatabases 主数据库 服务器中的数据库
syslanguages 主数据库 语言
syslogins 主数据库 登陆帐号信息
sysoledbusers 主数据库 链接服务器登陆信息
sysprocesses 主数据库 进程
sysremotelogins主数据库 远程登录帐号syscolumns 每个数据库 列
sysconstrains 每个数据库 限制
sysfilegroups 每个数据库 文件组
sysfiles 每个数据库 文件
sysforeignkeys 每个数据库 外部关键字
sysindexs 每个数据库 索引
sysmenbers 每个数据库 角色成员
sysobjects 每个数据库 所有数据库对象
syspermissions 每个数据库 权限
systypes 每个数据库 用户定义数据类型
sysusers 每个数据库 用户