sql - 从语句中执行 select * into 返回错误
问题描述
有人可以帮助我吗?
我尝试在 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
。
我检查了用户权限,并且用户有权操作。
解决方案
这将创建一个名为 ETMP_TESTE 的空表,具有 SAJ.EASJOBJETO 表的结构。
CREATE TABLE ETMP_TESTE AS
SELECT *
FROM SAJ.EASJOBJETO
WHERE 1 = 0;
这不处理约束和主键之类的东西,但它会给你表结构。1 = 0 确保没有数据被复制。
如果您需要主键等,请考虑为 EASJOBJETO 提取DDL。大多数 SQL IDE 都内置了该功能。您可以对其进行编辑以更正表名并运行脚本并获取所有内容。
推荐阅读
- node.js - zlib:zlib 绑定关闭
- flutter - 当我在 GitHub 上推送项目时,iOS 文件夹在颤振存储库中显示为空
- python - Matplotlib:如何使用“插入轴”将 line2D 对象复制到缩放区域
- python - 如何对图像进行去噪
- javascript - 如何在reactjs中将功能和按钮绑定在一起
- jquery - 选中复选框时如何更改表格行内输入文本的背景颜色
- java - 无法在 appium 的 twitter LoginPage 上找到元素
- ajax - 如何在特定页面上为用户添加权限
- xamarin - 适用于 iOS 的 Xamarin 表单“无法 AOT 程序集”
- javascript - .net core 2.2 和 3.0 中的不同帖子结构