Что вы считаете «странным сообщением об ошибке»? Это выглядит как вполне разумный след стека для меня. В нижней части стека вы получили ошибку при выполнении триггера. Следующая строка сообщает вам, что ошибка произошла в строке 28. В верхней части стека находятся ваши пользовательские сообщение об ошибке и номер. Мне все это кажется вполне нормальным (хотя вы, похоже, обрезали текст ошибки, связанный с ошибкой ORA-06512)
ORA-20101: Wrong date
ORA-06512: on "USER587.CHECKDATEVALIDITY", line 28
ORA-04088: error while executing trigger 'USER578.CHECKDATEVALIDITY'.
Если вы пытаетесь сопоставить номер строки, взгляните на DBA_SOURCE
. Например, это покажет вам, что находится в строках 23-32 вашего триггера (ошибочная строка +/- 5 строк).
SELECT line, text
FROM dba_source
WHERE owner = 'USER578'
AND name = 'CHECKDATEVALIDITY'
AND line BETWEEN 23 and 32;
Конечно, я предполагаю, что это упражнение в классе, а не то, что вы делаете в реальном мире. В реальном мире вы должны хранить в столбце DATE и позволить Oracle позаботиться о том, чтобы была введена правильная дата.