如何将SELECT和INSERT命令组合到SQL Server中不存在的表中?

Ham*_*eni 2 sql sql-server sql-insert

如何组合SELECTINSERT INTO命令并将结果插入SQL Server中的临时表?

像这样的东西:

INSERT INTO #TempTable 
    SELECT * FROM MyTable;
Run Code Online (Sandbox Code Playgroud)

Jos*_*ien 7

你有两个选择.首先是创建临时表,然后使用INSERT INTO...... SELECT,如下所示:

CREATE TABLE #temp (
  Col1 ...
);

INSERT INTO #temp
SELECT * FROM OtherTable;
Run Code Online (Sandbox Code Playgroud)

第二个选项是直接插入新的临时表:

SELECT  *
INTO    #temp
FROM    OtherTable;
Run Code Online (Sandbox Code Playgroud)

最大的区别在于使用方法1,您需要提前指定临时表中的所有列.方法2为您提供了一个临时表,它自动包含您的所有列OtherTable.


Jus*_*sel 5

您想要插入到尚不存在的表中吗?你的语法很接近.看到这里.

SELECT * INTO #BrandNewTempTable FROM MyTable 
Run Code Online (Sandbox Code Playgroud)

  • @EdwinDrood - 一个快速的Google显示自3.23版以来MySQL支持的语法(http://dev.mysql.com/doc/refman/4.1/en/ansi-diff-select-into-table.html) (2认同)