执行SQL行:
SELECT *
INTO assignment_20081120
FROM assignment ;
Run Code Online (Sandbox Code Playgroud)
针对oracle中的数据库备份一个名为assignment的表给出了以下ORACLE错误:ORA-00905:Missing keyword
Jus*_*ave 22
除非表中有一行ASSIGNMENT并且ASSIGNMENT_20081120是类型的本地PL/SQL变量,ASSIGNMENT%ROWTYPE否则这不是您想要的.
假设您正在尝试创建新表并将现有数据复制到该新表
CREATE TABLE assignment_20081120
AS
SELECT *
FROM assignment
Run Code Online (Sandbox Code Playgroud)
首先,我想:
"...在Microsoft SQL Server中,
SELECT...INTO自动创建新表,而Oracle似乎要求您在执行SELECT...INTO语句之前手动创建它..."
但是在手动生成表后,它仍然无效,仍然显示"缺少关键字"错误.
所以我放弃了这个时间并首先通过手动创建表来解决它,然后使用"经典" SELECT语句:
INSERT INTO assignment_20081120 SELECT * FROM assignment;
Run Code Online (Sandbox Code Playgroud)
哪个按预期工作.如果有人想出如何以SELECT...INTO正确的方式使用它的解释,我会很高兴!