插入到新建表中

17

我有两个大表格,想要把它们的所有列名(不是作为视图)合并到一个新表中。

没有权限右键单击每个表格并选择CREATE TO SCRIPT,因此我想知道是否有一种方法可以将两个表插入到一个新表中,而无需指定列数据类型?


1
你不能直接这样做,因为你需要指定如何合并这两个数据集。 - Viruzzo
1
@Viruzzo 这并不一定是正确的;您可以使用CROSS JOIN(正如我在我的答案中提到的那样)。 - Peter Majeed
1
是的,但他会得到两个表的笛卡尔积。我猜他应该明确他想要什么样的结果。 - Viruzzo
4个回答

23
SELECT top 0 *
INTO NewTable
FROM BigTable1
    CROSS JOIN BigTable2

1
或者,如果您对'INFORMATION_SCHEMA'模式有权限,则可以通过在'INFORMATION_SCHEMA.COLUMNS'表上的select语句来生成一个'CREATE TABLE'脚本,该表还包含列数据类型。 - Peter Majeed

13

对于 T-SQL,

SELECT ...
INTO MyTable
FROM ...

4
您可以使用 SELECT INTO TSQL 查询语句 - 请参考 MSDN 链接

3
如果您拥有创建权限,您应该能够使用以下语句之一来实现此目的:INSERT INTO MyTable SELECT
编辑:
我理解错了。
SELECT * INTO MYNEWTABLE FROM MYSOURCETABLE

2
"INSERT INTO" 不会创建新表。 - Barry Kaye

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接