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

Sql server 2008 SQL Server 2008-如何自动删除、创建和输出表?,sql-server-2008,insert,Sql Server 2008,Insert,我想在SQLServerDB中设置一个表,用于存储一个长而复杂的查询的结果,该查询需要运行将近一个小时。运行查询后,其他分析由同事使用Excel数据透视表完成 我不希望将结果输出为文本,而是希望将其保存在SQL Server中,然后将Excel设置为直接从服务器透视 我的问题是,输出并不总是有完全相同的列,每次手动设置要插入的输出表将非常繁琐 有没有办法根据您选择的数据类型动态创建表 例如,如果我想跑步: SELECT someInt, someVarchar, someDat

我想在SQLServerDB中设置一个表,用于存储一个长而复杂的查询的结果,该查询需要运行将近一个小时。运行查询后,其他分析由同事使用Excel数据透视表完成

我不希望将结果输出为文本,而是希望将其保存在SQL Server中,然后将Excel设置为直接从服务器透视

我的问题是,输出并不总是有完全相同的列,每次手动设置要插入的输出表将非常繁琐

有没有办法根据您选择的数据类型动态创建表

例如,如果我想跑步:

SELECT 
  someInt, 
  someVarchar, 
  someDate 
FROM someTable
并将其插入一个名为OutputTable的表中,该表必须如下所示

CREATE TABLE OutputTable
(
  someInt int null
  someVarchar varchar(255) null,
  someDate date null,
) ON [primary]
是否有某种方法可以让SQL Server查询select语句中的字段,然后自动生成CREATETABLE脚本

谢谢
卡尔


…不会显式生成创建脚本(至少您看不到),但会执行此任务

你,他可以用
选择。。。但是,除非他创建某种特定的方法来清理这些“伪临时”表,否则数据库将变得相当大(我只是假设任何“存储一个长而复杂的查询的结果,运行几乎需要一个小时”的东西也会占用大量空间,如果我错了,请纠正我)他不仅会耗尽空间,而且不断调整数据库大小也会严重影响性能。对于这个特定的例子,我认为不需要有复杂的方法来清理表。这样的查询看起来像是计划好的——在这种情况下,两步代理作业可以先删除表(如果存在),然后运行查询。我不认为这里的想法是这些是伪临时表——如果它们用于在Excel中进行透视,则不是。空间不足等是DBA的问题,我只能假设数据库配置正确。
SELECT 
  someInt, 
  someVarchar, 
  someDate 
INTO dbo.OutputTable
FROM someTable