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 ... into
是 PL/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)的主要内容,如果未能解决你的问题,请参考以下文章