在SQL中使用SELECT INTO创建新表

Asp*_*ant 32 sql oracle select create-table

可能重复:
使用Oracle进行SELECT INTO

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

  SELECT * INTO NEW_TABLE FROM OLD_TABLE;
Run Code Online (Sandbox Code Playgroud)

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

在ORACLE中可以这样做吗?

谢谢.

Jus*_*ave 78

创建新表的语法是

CREATE TABLE new_table
AS
SELECT *
  FROM old_table
Run Code Online (Sandbox Code Playgroud)

这将创建一个new_table以任何列所在的名称命名的新表,old_table并复制数据.它不会复制表上的约束,也不会复制存储属性,也不会复制表上定义的任何触发器.

SELECT INTO 当您想要将表中的数据提取到PL/SQL块中的本地变量时,在PL/SQL中使用.

  • 完成图片:`create table as ..`是标准SQL,几乎所有DBMS都支持.甚至一些使用SELECT INTO创建新表的人. (5认同)