2017-04-20 71 views
-1

是否有SQL Server的查询来查找表内的所有表和数据?我强调查询不是存储过程。用于搜索所有表和数据的SQL查询

+2

你怎么想这样做?你不知道你存储数据的位置吗? – jarlh

+0

我想这样做,因为如果我忘记了我的数据存储在哪里,或者我是否在大项目中添加了表格 –

+2

运气不佳。简单地搜索表格,一次。 (可以循环动态完成。) – jarlh

回答

-2

如果你知道你的表名:

SELECT * FROM table1, table2, ...; 
+0

是否有循环来执行此操作而不是写入table1,table2,....? –

+0

只是分享适当的答案..并在发布前先考虑。仔细阅读问题。 –

+1

如果表中的数据不止一行,这可能会使服务器上的所有活动停止。 – alroc

4

其实,有一种方法。

选项1:

有一个名为sp_msForEachTable程序,可以帮助你。这不是一个真正的正式记录的功能,因此不建议使用,但它的工作原理。

EXEC sp_msForEachTable 'SELECT TOP 10 * FROM ?' 

请记住,如果您有很多表格,可能需要一段时间才能列出所有内容。如果您拥有大量表格而没有太多内存,您的Management Studio可能会在完成之前崩溃。

选项2:

您可以使用系统视图sys.tables来创建SQL动态

SELECT 'SELECT TOP 10 * FROM ' + name FROM sys.tables 

然后你就可以复制在另一个窗口/粘贴的结果,也许在部分运行它们。

+0

感谢您的回复 –