我想从SQL select语句创建一个新表?

时间:2014-05-02 14:20:48

标签: sql sql-server

我希望能够基于任何SQL select语句创建新表。我尝试了下面的内容,我从另一个问题得到了格式,它不起作用(有类似的问题,但没有我发现实际工作的问题)。我一直在SQL语句上出错。

  

Msg 156,Level 15,State 1,Line 2
  关键字“AS”附近的语法不正确。

这是CREATE TABLE声明:

CREATE TABLE MyNewTable
AS
 SELECT *
 FROM dbo.Bat

3 个答案:

答案 0 :(得分:4)

这将复制整个表格,包括行

SELECT *
INTO newTableName
FROM dbo.Bat

添加WHERE 1 = 0仅复制表格结构

答案 1 :(得分:1)

如果是SQL Server(dbo架构,SQL Server中的默认值表示它是SQL Server),则可以执行以下操作。

select * into MyNewTable from dbo.Bat;

SELECT INTO语句不会复制表约束。 您的语句是一个有效的Oracle和MySQL语句。

答案 2 :(得分:0)

CREATE TABLE ... AS SELECT很简单(故意忽略存储的概念)

创建一个包含其所有行的表 代码:

CREATE TABLE XX AS SELECT * FROM YY ;

mysql中的命令结果 enter image description here