我有一个包含 69 个表的数据库。
请帮我导出这个
exec sp_MSforeachtable 'select top 3 * from ?'
该行获取每个表的前 3 条记录并将它们打印在“结果”选项卡中(根据这个问题)。
我想将结果导出到 .xls 文件中。
我尝试了这个使用 sp_makewebtask 的解决方案,但我知道它现在已经被贬值了。
能否请你帮忙?
非常感谢,
菲尔
PS 数据库在 MSSQL 2008 上运行
首先,您可能需要在ORDER BY
查询中添加一个:没有它,您将从每个表中获得三个随机行,这可能是您想要的,也可能不是。
接下来,这是一次性任务还是您会定期做的事情?如果它是一次性任务,则动态生成查询脚本,手动运行它并自己复制和粘贴结果。这可能会让您了解如何生成脚本:
select 'select top 3 * from ' + quotename(name) + ' order by SomeColumn union all '
from sys.tables
where... -- add something here if necessary
如果您需要定期执行此操作,我会避免使用 TSQL,因为它对于处理数据库外的文件来说是一种非常糟糕的语言。相反,编写一个小脚本来连接数据库、获取数据并写入输出文件通常更容易。您可以使用对您最方便的任何脚本或编程语言,然后使用 SQL 代理(如果在您的 SQL Server 版本中可用)来安排它。