структура таблицыошибка при вводе значений в таблицу?
Name Null Type
------------- ---- ------------
T_NO NUMBER
T_NAME VARCHAR2(10)
ENTERING_TIME TIMESTAMP(6)
LEAVING_TIME TIMESTAMP(6)
TO_DATE DATE
Trigger
create or replace trigger t4
before insert
on t4
for each row
declare
d_entering_time timestamp(6):=to_char('09:00:00AM','HH12:MM:SSAM');
begin
if (:new.entering_time <= d_entering_time) then
raise_application_error
(-20002,'Date of joining cannot be after system date.');
end if;
end;
и мой запрос вставки
insert INTO t3 (entering_time) values (TO_date('8:31:51AM','HH:MI:SSAM'))
Я получаю следующее сообщение об ошибке:
SQL Error: ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "SYSTEM.T3", line 2
ORA-04088: error during execution of trigger 'SYSTEM.T3'
06502. 00000 - "PL/SQL: numeric or value error%s"
*Cause:
*Action:
Ca n кто-нибудь подсказывает мне, где происходит ошибка?
'to_char()' преобразует дату (или временную метку) в строковый литерал. Вместо этого вы хотите 'to_timestamp()'. Знаете ли вы, что временная метка также включает в себя дату? –
, даже если использование 'to_timestamp()' получает такую же ошибку – user2801653
Вы понимаете, что такое временная метка Oracle? http://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements001.htm#autoId14 –