在 SQL 中使用 SELECT INTO 创建新表 [重复]

Posted

技术标签:

【中文标题】在 SQL 中使用 SELECT INTO 创建新表 [重复]【英文标题】:Creating new table with SELECT INTO in SQL [duplicate] 【发布时间】:2012-08-07 04:36:24 【问题描述】:

可能重复:SELECT INTO using Oracle

我遇到了SQL SELECT INTO 语句,用于创建新表并将旧表记录转储到单个 SQL 语句中的新表中

  SELECT * INTO NEW_TABLE FROM OLD_TABLE;

但是当我尝试上述查询时,它给出的错误为ORA-00905: missing keyword

在 ORACLE 中可以做到吗?

谢谢。

【问题讨论】:

【参考方案1】:

新建表的语法是

CREATE TABLE new_table
AS
SELECT *
  FROM old_table

这将创建一个名为new_table 的新表,其中包含old_table 中的任何列,并将数据复制过来。它不会复制表上的约束,不会复制存储属性,也不会复制表上定义的任何触发器。

SELECT INTO 用于 PL/SQL 中,当您想要从表中获取数据到 PL/SQL 块中的局部变量时。

【讨论】:

完成图片:create table as .. 是标准 SQL,几乎所有 DBMS 都支持。甚至有些人使用 SELECT INTO 创建新表。 在 SQL Server Management Studio 中不起作用。

以上是关于在 SQL 中使用 SELECT INTO 创建新表 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

SQL SELECT INTO使用

sql_Select Into

SQL SELECT INTO 语句

SQL的select into语句

MySQL中为啥不能在select语句中使用into将查询结果存入新表,但是SQL sever可以

MySQL select into 和 SQL select into