查询数据库中满足表记录数大于10000的所有表
查询的结果是满足要求的表 不是select * from tablename
------解决方案--------------------
- SQL code
DECLARE @sql NVARCHAR(max)SET @sql=' DECLARE @table TABLE(table_name VARCHAR(100),cnt INT) INSERT INTO @table 'SELECT @[email protected]+N' SELECT TABLE_NAME='''+TABLE_SCHEMA+N'.'+TABLE_NAME+''',COUNT(1) as cnt FROM '+TABLE_SCHEMA+N'.'+TABLE_NAME+N' union all' FROM INFORMATION_SCHEMA.tablesWHERE TABLE_TYPE='BASE TABLE' SET @sql=LEFT(@sql,LEN(@sql)-LEN('union all'))SET @[email protected]+N'select * from @table where cnt> 10000 'EXEC(@sql)
------解决方案--------------------
- SQL code
SELECT OBJECT_NAME(Id) FROM sysindexesWHERE indid < 2 AND rows > 10000