SQL Server 2008 - 如何自动删除和创建和输出表?

SQL Server 2008 - 如何自动删除和创建和输出表?

问题描述:

我想在SQL Server数据库中设置一个表,用于存储一个长而复杂的查询的结果,这个查询需要将近一个小时才能运行。运行查询后,其余的分析由同事使用Excel数据透视表完成。SQL Server 2008 - 如何自动删除和创建和输出表?

我不希望将结果输出到文本,并希望将它保留在SQL Server中,然后只需将Excel设置为直接从服务器进行转接即可。

我的问题是,输出不会总是有完全相同的列,并且每次手动设置输出表以INSERT INTO将是单调乏味的。

有没有办法根据您选择的数据类型即时创建表格?

E.g.如果我想运行:

SELECT 
    someInt, 
    someVarchar, 
    someDate 
FROM someTable 

并插入到一个名为可输出表,它必须看起来像这样

CREATE TABLE OutputTable 
(
    someInt int null 
    someVarchar varchar(255) null, 
    someDate date null, 
) ON [primary] 

这是有一些方法来使SQL Server查询的字段在SELECT语句然后自动生成CREATE TABLE脚本?

感谢
卡尔

SELECT 
    someInt, 
    someVarchar, 
    someDate 
INTO dbo.OutputTable 
FROM someTable 

...没有明确生成创建脚本(至少不是一个你可以看到),但没有工作!

+0

你,他可以使用'SELECT ... INTO ..',但是除非他创建了一些清理这些“伪温度”表的软件方法,否则数据库会变得相当大(我只是假设任何东西“存储一个长而复杂的查询的结果需要几乎一小时的时间才能运行”也使用了很多空间,如果我错了,请纠正我),而且不仅可以用尽空间,而且不断调整DB大小也会严重伤害性能。 – 2010-11-10 07:42:36

+0

对于这个特定的例子,我不认为需要一个复杂的方式来清理表。这样的查询看起来像它将被调度 - 在这种情况下,首先删除表(如果存在),然后运行查询的两步代理作业就没有问题。我不认为这里的想法是这些是伪临时表 - 如果它们要用于在Excel中进行透视,则不是。空间不足等是DBA的问题 - 我只能假定数据库配置正确。 – 2010-11-10 07:45:45