有人知道这是否可行?
示例:
CREATE TABLE XPTO (
this_is_an_error_because_there_is_no_data_type
);
查询结果:
"**Error starting at line X in command:
blablabla
SQL ERROR: ORA-02263**"
是否可以将查询结果保存在表格中?
我正在制作一个带有CREATE
表/程序的“安装”脚本,GRANT
很简单,但我想知道是否可以在表中保存可能弹出的错误在安装我的表或其中的任何内容时(在我的安装文件 .sql 中)。
任何帮助,想法,解决方法/ s,将不胜感激。谢谢你们!
答案 0 :(得分:0)
在SQL * Plus中,可以使用SQL*Plus error logging完成此操作。
启用错误记录:
SQL> set errorlogging on
运行脚本:
SQL> CREATE TABLE XPTO (
2 this_is_an_error_because_there_is_no_data_type
3 );
this_is_an_error_because_there_is_no_data_type
*
ERROR at line 2:
ORA-00972: identifier is too long
最后,所有错误都存储在表SPERRORLOG
中。
SQL> select * from sperrorlog;
USERNAME
------------------------------------------------
TIMESTAMP
------------------------------------------------
SCRIPT
------------------------------------------------
IDENTIFIER
------------------------------------------------
MESSAGE
------------------------------------------------
STATEMENT
------------------------------------------------
JHELLER
25-JAN-16 01.43.13.000000 PM
ORA-00972: identifier is too long
CREATE TABLE XPTO (
this_is_an_error_because_there_is_no_data_type
)
正如Tony Andrews在评论中所说,SPOOL
是最常用的方法。但那是因为很少有SQL * Plus脚本完全自动化。如果您的目标是实现真正的自动化,则需要SQL * Plus错误记录或whenever sqlerror exit failure
来检测错误。