建表时使用的Oracle 保留字,(因为已经使用无法更改),插入数据时提示ORA-01747?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建表时使用的Oracle 保留字,(因为已经使用无法更改),插入数据时提示ORA-01747?相关的知识,希望对你有一定的参考价值。
我已经试过加""了但是又提示ora-00904
参考技术A 改表字段! 首先建表的时候就非法了!追问表已经创建好了,而且里面的数据能够从前台程序正常插入。但是从后台数据库通过语句插入时就报错,有可能是工具的问题,我用的是PL/SQL dev
本回答被提问者采纳 参考技术B 插入数据时,将 字段名或者表名 用 双引号括起来(大写、小写都试一下)
建议可能的话,还是修改一下 参考技术C 建议改字段名,否则后面一大推麻烦事,何必呢追问
我了解,但是这几个字段无法修改,因为没有前台程序的源代码,数据库可以改但是改完之后前台系统就会有问题,而我无法修改前台的源代码了。
参考技术D 加单引,不行加[from]行不行追问单引号不行还是有问题,[FROM]也不行,同样的问题
追答你把语句发过来我研究一下
如何获得在Oracle中创建表时使用的查询?
我是一个新的Oracle和学习表使用的HR db,我想问是否有任何命令来查看查询用于创建预定义表?(我不是在说Describe命令).Thanks in advance(谢谢)
答案
你可以使用 getddl()
功能从 的 dbms_metadata
包裹.
作为一个例子,下面的查询给出了表的 DDL mytable
在计划中 HR
:
select dbms_metadata.get_ddl('TABLE','MYTABLE','HR') from dual;
如果你想知道所有表格的信息,在 HR
模式一次,你可以做到。
select table_name, dbms_metadata.get_ddl('TABLE', table_name, owner)
from all_tables
where owner = 'HR';
另一答案
如果你使用SQLcl或SQL Developer的话 有一个客户端命令
ddl *table_name
*
我多说几句 此处
以上是关于建表时使用的Oracle 保留字,(因为已经使用无法更改),插入数据时提示ORA-01747?的主要内容,如果未能解决你的问题,请参考以下文章
PySpark:当通过 JDBC 在 Oracle 中创建表时,为啥我会得到“没有为类 oracle.jdbc.driver.T4CRowidAccessor 实现 getLong”?