error_message_details یکی دیگر از پارامترهای جدید اوراکل در نسخه 23c هست که امکان نمایش جزییات خطاهای مربوط به Data Value را فراهم می کند با تنظیم این پارامتر به مقدار on، می توانیم برای خطاهایی نظیر ORA-00001: unique constraint violated، مقداری که سبب رخ دادن این دسته از خطاها شده است را در متن خطا ببینیم.
برای مثال، در سناریوی زیر، فعال بودن پارامتر error_message_details در پیدا کردن مقداری که باعث این خطا شده است کمک می کند:
SQL> create table tbl1(id number primary key); Table created. SQL> variable B number; SQL> exec :B:=2547; PL/SQL procedure successfully completed. SQL> insert into tbl1 values(:B); 1 row created. SQL> insert into tbl1 values(:B); ERROR at line 1: 'ORA-00001: unique constraint (USEF.SYS_C008328) violated on table USEF.TBL1 columns (ID)' 'ORA-03301: (ORA-00001 details) row with column values (ID:2547) already exists' Help: https://docs.oracle.com/error-help/db/ora-00001/
در صورتی که پارامتر error_message_details غیر فعال شود، خطای فوق به شکل زیر نمایش داده می شود:
SQL> alter system set error_message_details=DISALLOWED ; System altered. SQL> insert into tbl1 values(:B); 'ORA-00001: unique constraint (USEF.SYS_C008329) violated on table USEF.TBL1 columns (ID)' Help: https://docs.oracle.com/error-help/db/ora-00001/