Od MOS-
Wstawianie sekund przestępnych w kolumnie sygnatury czasowej nie powiodło się z ORA-01852 (DocID 1553906.1)
DOTYCZY:
Oracle Database — Enterprise Edition — wersja 8.1.7.4 i nowsze
Oracle Database — Standard Edition — wersja 8.1.7.4 i nowsze
Informacje zawarte w tym dokumencie dotyczą dowolnej platformy.
OBJAWY:
Próba wstawienia sekund przestępnych w kolumnie sygnatury czasowej kończy się niepowodzeniem z:ORA-01852:sekundy muszą mieścić się w zakresie od 0 do 59
PRZYCZYNA
Nie można zapisać wartości>59 sekund w dacie lub typie danych znacznika czasu
ROZWIĄZANIE
Aby obejść ten problem, rekord sekundy przestępnej może być przechowywany w typie danych avarchar2, np.
SQL> create table test (val number, t varchar2(30));
Table created.
SQL> insert into test values(123, '2012-06-30T23:59:60.000000Z');
1 row created.
Nie najlepsze rozwiązanie, ale jedyne rozwiązanie.