插入到创建新表
问题描述:
我有两个大表,并希望将所有列名(不作为视图)合并到一个新表。插入到创建新表
我没有权限右键单击每个表并选择CREATE TO SCRIPT,所以我想知道是否有办法将两个表都插入到新表中而不指定列数据类型?
答
SELECT top 0 *
INTO NewTable
FROM BigTable1
CROSS JOIN BigTable2
+0
或者,如果您有'INFORMATION_SCHEMA'模式的权限,则可以通过'INFORMATION_SCHEMA.COLUMNS'表中的select语句生成'CREATE TABLE'脚本,该表还包含列数据类型。 –
答
如果您有创建权限,你应该能够使用:
INSERT INTO MyTable SELECT
语句来做到这一点。
编辑:
我是有错
SELECT * INTO MYNEWTABLE FROM MYSOURCETABLE
答
对于TSQL,
SELECT ...
INTO MyTable
FROM ...
你不能直接做,因为你需要指定如何组合两个数据集。 – Viruzzo
@维鲁佐那不一定是真的;你可以使用'CROSS JOIN'(正如我在我的回答中提到的)。 –
是真的,但是他会得到一个两个笛卡尔乘积的表。我想他应该清楚他想要什么样的结果。 – Viruzzo