当前位置:  开发笔记 > 数据库 > 正文

Oracle错误:ORA-00905:缺少关键字

如何解决《Oracle错误:ORA-00905:缺少关键字》经验,为你挑选了2个好方法。

执行SQL行:

SELECT * 
  INTO assignment_20081120 
  FROM assignment ;

针对oracle中的数据库备份一个名为assignment的表给出了以下ORACLE错误:ORA-00905:Missing keyword



1> Justin Cave..:

除非表中有一行ASSIGNMENT并且ASSIGNMENT_20081120是类型的本地PL/SQL变量,ASSIGNMENT%ROWTYPE否则这不是您想要的.

假设您正在尝试创建新表并将现有数据复制到该新表

CREATE TABLE assignment_20081120
AS
SELECT *
  FROM assignment



2> Uwe Keim..:

首先,我想:

"...在Microsoft SQL Server中, SELECT...INTO自动创建新表,而Oracle似乎要求您在执行SELECT...INTO 语句之前手动创建它..."

但是在手动生成表后,它仍然无效,仍然显示"缺少关键字"错误.

所以我放弃了这个时间并首先通过手动创建表来解决它,然后使用"经典" SELECT语句:

INSERT INTO assignment_20081120 SELECT * FROM assignment;

哪个按预期工作.如果有人想出如何以SELECT...INTO正确的方式使用它的解释,我会很高兴!


解释只是`SELECT..INTO`是*PL/SQL*语法,而不是SQL - 它期望PL/SQL变量接受查询的结果.
推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有