首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Oracle进行选择

使用Oracle进行选择
EN

Stack Overflow用户
提问于 2010-02-12 15:13:44
回答 3查看 403.6K关注 0票数 151

我正在尝试使用Oracle进行SELECT。我的问题是:

代码语言:javascript
复制
SELECT * INTO new_table FROM old_table;

但我得到以下错误:

代码语言:javascript
复制
SQL Error: ORA-00905: missing keyword
00905. 00000 -  "missing keyword"

知道出什么事了吗?

上面的标准行为应该是我最初认为的:然而,Oracle在他们自己的SQL Oracle Docs on Insert ... Select方言中实现了完全不同的行为。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-12 15:22:53

如果NEW_TABLE已经存在,那么...

代码语言:javascript
复制
insert into new_table 
select * from old_table
/

如果您想基于OLD_TABLE中的记录创建NEW_TABLE ...

代码语言:javascript
复制
create table new_table as 
select * from old_table
/

如果目的是创建一个新的空表,那么使用WHERE子句和一个永远不会为真的条件:

代码语言:javascript
复制
create table new_table as 
select * from old_table
where 1 = 2
/

记住CREATE TABLEAS SELECT仅创建一个与源表具有相同投影的表。新表没有原始表可能具有的任何约束、触发器或索引。这些仍然需要手动添加(如果需要)。

票数 301
EN

Stack Overflow用户

发布于 2010-02-12 15:17:34

select into在pl/sql中用于将变量设置为字段值。相反,您可以使用

代码语言:javascript
复制
create table new_table as select * from old_table
票数 33
EN

Stack Overflow用户

发布于 2013-06-06 14:33:10

使用:

代码语言:javascript
复制
create table new_table_name 
as
select column_name,[more columns] from Existed_table;

示例:

代码语言:javascript
复制
create table dept
as
select empno, ename from emp;

如果该表已经存在:

代码语言:javascript
复制
insert into new_tablename select columns_list from Existed_table;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2250196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档