PL/SQL SELECT INTO 错误 (ORA-00905)

Posted

技术标签:

【中文标题】PL/SQL SELECT INTO 错误 (ORA-00905)【英文标题】:PL/SQL SELECT INTO error (ORA-00905) 【发布时间】:2013-03-27 08:00:50 【问题描述】:

我知道在 oracle 11g 中使用了 query(select * into A from B)。 但是弹出了错误(ORA-00905:缺少关键字)。 有我必须配置的吗?

【问题讨论】:

您执行的完整查询是什么? 请向我们展示您的完整程序。 select ... intoPL/SQL,不是普通 SQL。 SELECT INTO 用于分配变量,看起来你想要CREATE TABLE .. AS SELECT ... FROM。 Example on SQL Fiddle 那个查询只在过程中使用? 【参考方案1】:

如果A是一个表,你想将表B中的所有记录插入A,你可以使用INSERT INTO...SELECT

INSERT INTO A
SELECT *
FROM B

如果您想从表A 的查询结果中创建一个名为A 的表,请使用CREATE TABLE

create table A as 
select * from B

【讨论】:

不应该是“...特别是来自表 B ...”吗?【参考方案2】:

您可以在 PL/SQL 中这样做:

  EXECUTE IMMEDIATE 'SELECT...FROM B' INTO A

其中 B 是表,A 是变量

一个完整的例子:

DECLARE
    IND NUMBER;
BEGIN
    ...
    EXECUTE IMMEDIATE 'SELECT MAX(ID) FROM USER' INTO IND;
    ...

END;

【讨论】:

以上是关于PL/SQL SELECT INTO 错误 (ORA-00905)的主要内容,如果未能解决你的问题,请参考以下文章

Python 操作Redis

python爬虫入门----- 阿里巴巴供应商爬虫

Python词典设置默认值小技巧

《python学习手册(第4版)》pdf

Django settings.py 的media路径设置

Python中的赋值,浅拷贝和深拷贝的区别