联系:手机/微信(+86 17813235971) QQ(107644445)
标题:Oracle23ai新特性—sqlplus errordetails功能
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
在oracle 23ai中如果sqlplus执行遇到ORA-错误,会有对应的Help: https://docs.oracle.com/error-help/db/ORA-XXXXX提示,由于以前的使用习惯或者是提示本身意义不大等原因,还是希望在sqlplus中关闭这类提示.通过分析确认该提示是由errordetails来控制的
[oracle@xifenfei admin]$ sqlplus / as sysdba SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Mon Jul 29 22:44:23 2024 Version 23.5.0.24.07 Copyright (c) 1982, 2024, Oracle. All rights reserved. Connected to: Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems Version 23.5.0.24.07 SQL> select * from xff.xifenfei; select * from xff.xifenfei * ERROR at line 1: ORA-00942: table or view "XFF"."XIFENFEI" does not exist Help: https://docs.oracle.com/error-help/db/ora-00942/ SQL> show errordetails <--该值默认为on errordetails ON
设置errordetails off即可实现关闭Help: https://docs.oracle.com/error-help/db/ORA-XXXXX提示
SQL> set errordetails off SQL> select * from xff.xifenfei; select * from xff.xifenfei * ERROR at line 1: ORA-00942: table or view "XFF"."XIFENFEI" does not exist
设置errordetails verbose可以实现更加详细的提示
SQL> set errordetails verbose SQL> select * from xff.xifenfei; select * from xff.xifenfei * ERROR at line 1: ORA-00942: table or view "XFF"."XIFENFEI" does not exist Help: https://docs.oracle.com/error-help/db/ora-00942/ Cause: The specified table or view did not exist, or a synonym pointed to a table or view that did not exist. To find existing user tables and views, query the ALL_TABLES and ALL_VIEWS data dictionary views. Certain privileges may be required to access the table. If an application returned this message, then the table that the application tried to access did not exist in the database, or the application did not have access to it. Action: Check each of the following: - The spelling of the table or view name is correct. - The referenced table or view name does exist. - The synonym points to an existing table or view. If the table or view does exist, ensure that the correct access privileges are granted to the database user requiring access to the table. Otherwise, create the table. Also, if you are attempting to access a table or view in another schema, make sure that the correct schema is referenced and that access to the object is granted. Params: 1) object_name: The table or view name specified as SCHEMA.OBJECT_NAME, if one is provided. Otherwise, it is blank.
如果要实现sqlplus启动即屏蔽该提示,可以在glogin.sql文件($ORACLE_HOME/sqlplus/admin目录中)设置
[oracle@xifenfei admin]$ sqlplus / as sysdba SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Mon Jul 29 22:44:23 2024 Version 23.5.0.24.07 Copyright (c) 1982, 2024, Oracle. All rights reserved. Connected to: Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems Version 23.5.0.24.07 SQL> show errordetails; errordetails OFF SQL> select * from xifenfei.xff; select * from xifenfei.xff * ERROR at line 1: ORA-00942: table or view "XIFENFEI"."XFF" does not exist