我希望能够基于任何SQL select
语句创建新表。我尝试了下面的内容,我从另一个问题得到了格式,它不起作用(有类似的问题,但没有我发现实际工作的问题)。我一直在SQL语句上出错。
Msg 156,Level 15,State 1,Line 2
关键字“AS”附近的语法不正确。
这是CREATE TABLE
声明:
CREATE TABLE MyNewTable
AS
SELECT *
FROM dbo.Bat
答案 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中的命令结果