关于报错"ORA-01747: user.table.column, table.column 或列说明无效"的解决办法
今天在工程中遇到“ORA-01747: user.table.column, table.column 或列说明无效”的报错情况,查了一下是由于数据库列名起的不好引起的,名字用到了数据库的关键字。
如果列很多,又不好确定是哪个列名使用了关键字,以下建议可供参考:
我用以下方法定位
select *
from v$reserved_words
where keyword
in(
select COLUMN_NAME
from all_tab_columns
where table_name = ‘表名大写‘ and owner=‘用户名大写‘
);
【总结】:
Oracle数据库中创建表的时候,我们不能用有些单词,
因为有些事Oracle自己已经使用了的单词。
比如“row” .如果你使用了,那么就会报错。
怎么判断呢:
我的方法:直接将出错的sql复制到查询中,运行,
也可以直接看颜色,关键字会变色,我就是用了“row”关键字,所以报错了
本文出自 “JianBo” 博客,转载请与作者联系!
关于报错"ORA-01747: user.table.column, table.column 或列说明无效"
原文:http://jianboli.blog.51cto.com/12075002/1893760