使用 Oracle SELECT INTO

SELECT INTO using Oracle(使用 Oracle SELECT INTO)
本文介绍了使用 Oracle SELECT INTO的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 Oracle 执行 SELECT INTO.我的查询是:

I'm trying to do a SELECT INTO using Oracle. My query is:

SELECT * INTO new_table FROM old_table;

但我收到以下错误:

SQL Error: ORA-00905: missing keyword
00905. 00000 -  "missing keyword"

知道有什么问题吗?

上面的标准行为应该是我原先认为的:然而,Oracle 用他们自己的 SQL 方言完全不同地实现了它插入 Oracle 文档...选择

The Standard behavior of the above should be as I originally thought: However Oracle implemented it totally differently in their own dialect of SQL Oracle Docs on Insert ... Select

推荐答案

如果 NEW_TABLE 已经存在,则 ...

If NEW_TABLE already exists then ...

insert into new_table 
select * from old_table
/

如果你想根据 OLD_TABLE 中的记录创建 NEW_TABLE ...

If you want to create NEW_TABLE based on the records in OLD_TABLE ...

create table new_table as 
select * from old_table
/

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

If the purpose is to create a new but empty table then use a WHERE clause with a condition which can never be true:

create table new_table as 
select * from old_table
where 1 = 2
/

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

Remember that CREATE TABLE ... AS SELECT creates only a table with the same projection as the source table. The new table does not have any constraints, triggers or indexes which the original table might have. Those still have to be added manually (if they are required).

这篇关于使用 Oracle SELECT INTO的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)