有人可以帮我吗?
我尝试在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
。
我检查了用户权限,并且用户有权采取行动。
答案 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'