建表时使用的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*

enter image description here

我多说几句 此处

以上是关于建表时使用的Oracle 保留字,(因为已经使用无法更改),插入数据时提示ORA-01747?的主要内容,如果未能解决你的问题,请参考以下文章

如何获得在Oracle中创建表时使用的查询?

在Oracle 11g 中创建表时如何保存表?

Oracle建表时主键自增

PySpark:当通过 JDBC 在 Oracle 中创建表时,为啥我会得到“没有为类 oracle.jdbc.driver.T4CRowidAccessor 实现 getLong”?

sql server建表时怎么设置ID字段自增

oracle我建表时的数据类型是int,为啥插值的时候小数照样能插不报错?