如果你想要遍历所有表并查询出数据,你可以使用以下的SQL语句:
DECLARE @TableName NVARCHAR(MAX); DECLARE @SQLQuery NVARCHAR(MAX); DECLARE TableCursor CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'; OPEN TableCursor; FETCH NEXT FROM TableCursor INTO @TableName; WHILE @@FETCH_STATUS = 0 BEGIN SET @SQLQuery = 'SELECT * FROM ' + @TableName; EXEC sp_executesql @SQLQuery; FETCH NEXT FROM TableCursor INTO @TableName; END CLOSE TableCursor; DEALLOCATE TableCursor;
上述的SQL语句使用了一个游标(cursor)来遍历所有的表名,并通过动态SQL语句执行查询操作。在每次循环中,将表名拼接到查询语句的字符串上,并通过sp_executesql
函数执行动态SQL查询。
请注意,执行此类操作需要谨慎,因为会查询整个数据库中的所有表。