一般完整的sql报错信息是 :SQLERRM || dbms_utility.format_error_backtrace()
eg:ORA-00001: unique constraint (XXXXXXX) violatedORA-06512: at "XXXXXXXX", line 1455
一般我们只需要(XXX)之前的信息
可以对报错信息进行截取:
substrb(SQLERRM || dbms_utility.format_error_backtrace(), 1, instr(SQLERRM || dbms_utility.format_error_backtrace(), ' (', 1, 1));
其中 substring ( 被操作字符串 , 开始的位置 ,截取几位 ) 返回字符串
instr ( 被操作字符串 , 寻找的字符 ,开始的位置 ,寻找的字符第几次出现 ) 返回数组 --寻找的字符的位置
标签:dbms,backtrace,截取,报错,sql,字符串,utility From: https://www.cnblogs.com/iRyz/p/16981341.html