Sql server 使用sp_MSforeachtable时出现语法错误
我计划在SQLServer2000中获取所有表及其总行数 为此,我:Sql server 使用sp_MSforeachtable时出现语法错误,sql-server,tsql,sql-server-2000,Sql Server,Tsql,Sql Server 2000,我计划在SQLServer2000中获取所有表及其总行数 为此,我: sp_msforeachtable 'select count(*) from ?' 在此列中未提及标题,因为它无法区分行计数属于哪个表 为此,我修改了以下内容: sp_msforeachtable 'select count(*) as ? from ?' 但它抛出了一个错误: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near '.'.
sp_msforeachtable 'select count(*) from ?'
在此列中未提及标题,因为它无法区分行计数属于哪个表
为此,我修改了以下内容:
sp_msforeachtable 'select count(*) as ? from ?'
但它抛出了一个错误:
Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near '.'.
请您对此进行指导试试这个:
SELECT
sysobjects.Name, sysindexes.Rows
FROM
sysobjects
INNER JOIN sysindexes
ON sysobjects.id = sysindexes.id
WHERE
type = 'U'
AND sysindexes.IndId < 2
试试这个:
SELECT
sysobjects.Name, sysindexes.Rows
FROM
sysobjects
INNER JOIN sysindexes
ON sysobjects.id = sysindexes.id
WHERE
type = 'U'
AND sysindexes.IndId < 2
我想我明白了:
exec sp_MSforeachtable 'select count(*) as nr_of_rows, ''?''
as table_name from ?'
我想我明白了:
exec sp_MSforeachtable 'select count(*) as nr_of_rows, ''?''
as table_name from ?'
请尝试以下方法:
sp_MSforeachtable 'select ''?'' Tablename, count(*) ''Rows'' from ?'
请尝试以下方法:
sp_MSforeachtable 'select ''?'' Tablename, count(*) ''Rows'' from ?'
sysindexes.IndId<2是什么意思&为什么?仅适用于包含所有表的堆和聚集索引?没有索引甚至主键的表?是的,它们将被包含在Toolook中,就像它不是实时的一样,但可以这样做:不确定这会如何影响性能!sysindexes.IndId<2是什么意思&为什么?仅适用于包含所有表的堆和聚集索引?没有索引甚至主键的表?是的,它们将被包含在Toolook中,就像它不是实时的一样,但可以这样做:不确定这会如何影响性能!它帮助我一次更新所有表的统计信息,如:EXEC sp_MSforeachtable'updatestatistics?全扫描';它帮助我一次更新所有表的统计信息,如:EXEC sp_MSforeachtable'updatestatistics?全扫描';