因为SQL中列名写错了,导致查询的时候,报的标识符无效,或是数据库中没有这个列名,但是SQL语句中有这个字段,可以直接用PL/SQL直接给客户添加了缺少的字段。
Oracle会将小写自动转换为大写,比如数据库中的字段是小写,查询的SQL语句也是小写,但是ORACLE 将查询语句转为了大写(ORACLE严格区分大小写)这样去数据库中查找,它就找不到对应的字段,这样数据库就会报错。
解决方案:将这段代码中的表名替换成自己要修改的表名,就可以把表中所有的小写字段名一下全部换为大写,很方便。
扩展资料:在程序设计语言中,标识符是用作程序的某一元素的名字的字符串或用来标识源程序中某个对象的名字的,这个元素可以是一个语句标号,一个过程或函数、一个数据元素(例如一个标量变量或一个数组)或程序本身。
最通常是,标识符这个字几乎与变量名同义地使用,在程序数据的位置在整个程序执行期间保持不变的系统中,用于标量变量的标识符联系到存储器地址,而存储器地址又指向机器的存储器内的物理单元,该单元又含有一个值的表示。
标识符与一个值之间的中间关系通常对程序员是透明的,因此在实际中在一个变量的名字(即其标识符)与其值(它是分配给该标识符的存储单元的当前内容)之间出现混淆。
ora-00904 标识符无效是设置错误造成的,解决方法为:
1、打开服务器端目录/客户端元数据目录客户端目录:$eas\client\metas,服务器端目录:$ eas\servers\metas。
2、使用解压缩工具检索缺失此字段的元数据。
3、查看搜索结果,标准产品中文件名带”.table”结尾的为含缺失字段的表。
4、通过上一步获取的文件往上查进入META-INF文件夹 打开MANIFEST.MF(如图),确定对应的补丁号 PatchNumber:PT085004。
5、 在管理控制台执行对应补丁的脚本,就可以了。
方法/步骤:1、大部分情况下,此错误是由于引用了不存在的列名导致的。比如select name from Studtent 当studeng表中无name列时,系统就会报此错误。
2、解决思路是,确定数据库中引用到的列和自己sql中书写的列名是否一致。如有不同,修改过来,重新测试应该可以解决问题。
3。对于某些工具生成的sql,可能导致列明和期望不符的情况,比如,有些工具生成的列名会带有双引号,从而导致此错误。这种情况也请注意。
安装pl/sql developer步骤:1、打开安装包. 确定安装该软件, 点击确定. 然后会d出加载安装内容的页面.
2、页面内容加载完成, d出, 一个用户协议的界面, 点击. 我同意. I Argee, 然后继续下一步.
3、选择路径, 这里还是那句话, 就是最好不要有空格和特殊字符. 为了出现找不到原因的错误!然后选择next.
4、选择是否创建桌面快捷方式, 和创建开始菜单, 然后选择安装到那个用户.
5、该项全部使用默认的, 代表着, 安装默认的pl/sql的插件. 然后和一些模版, 然后选择finish.
6、等待安装完成. 安装过程特别迅速. 安装完成, 点击close. 然后关闭安装过程, 然后桌面就会有启动图标. 然后打开.
7、输入连接的用户名和密码, 以及要连接的数据库. 这里我连接的是orcl的本地库, 然后. 点击ok, 就可以登录. 登录成功, 说明连接oracle成功. 然后写了一个查询oracle时间的语句.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)