从语句中执行select *进入返回错误

时间:2019-02-27 17:11:34

标签: sql oracle oracle11g

有人可以帮我吗?

我尝试在Oracle 11中执行以下命令,但出现此错误:

  

SQL错误[905] [42000]:ORA-00905:找不到关键字。

代码:

SELECT * 
INTO SAJ.ETMP_TESTE 
FROM SAJ.ESAJOBJETO O 
WHERE CDOBJETO = 'P800000000J03'

我阅读了Oracle文档,但在声明中没有发现任何明显的错误。

https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/selectinto_statement.htm

我的目标是使用ETMP_TESTE中的结构创建表ESAJOBJETO

我检查了用户权限,并且用户有权采取行动。

2 个答案:

答案 0 :(得分:2)

这将创建一个名为ETMP_TESTE的空表,其结构为SAJ.EASJOBJETO表。

#temp

这不处理约束和主键之类的事情,但是它将为您提供表结构。 1 = 0确保没有数据被复制。

如果需要主键之类的内容,请考虑为EASJOBJETO提取DDL。大多数SQL IDE都内置了该功能。您可以对其进行编辑以更正表名并运行脚本并获取所有内容。

答案 1 :(得分:2)

您需要创建表,而不是根据查询结果选择进入创建表

CREATE TABLE SAJ.ETMP_TESTE 
AS   SELECT *  
FROM SAJ.ESAJOBJETO O 
WHERE CDOBJETO = 'P800000000J03'