如果你想要遍歷所有表并查詢出數據,你可以使用以下的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查詢。
請注意,執行此類操作需要謹慎,因為會查詢整個數據庫中的所有表。