Dla kogoś bardzo łatwy, Następująca wstawka daje mi
ORA-01722: nieprawidłowy numer
dlaczego?
INSERT INTO CUSTOMER VALUES (1,'MALADY','Claire','27 Smith St Caulfield','0419 853 694');
INSERT INTO CUSTOMER VALUES (2,'GIBSON','Jake','27 Smith St Caulfield','0415 713 598');
INSERT INTO CUSTOMER VALUES (3,'LUU','Barry','5 Jones St Malvern','0413 591 341');
INSERT INTO CUSTOMER VALUES (4,'JONES','Michael','7 Smith St Caulfield','0419 853 694');
INSERT INTO CUSTOMER VALUES (5,'MALADY','Betty','27 Smith St Knox','0418 418 347');
W przypadku próby konwersji łańcucha znaków na liczbę występuje błąd ORA-01722, przy czym łańcucha nie można przekonwertować na liczbę.
Nie widząc definicji tabeli, wygląda na to, że próbujesz przekonwertować ciąg liczbowy na końcu listy wartości na liczbę, a spacje, które go ograniczają, powodują ten błąd. Ale na podstawie informacji, które nam podałeś, może się to dziać na każdym polu (poza pierwszym).
Ponieważ ten błąd pojawia się, gdy próbujesz wstawić wartość nienumeryczną do kolumny numerycznej w db wydaje się, że twoje ostatnie pole może być numeryczne i próbujesz wysłać je jako ciąg znaków w bazie danych. sprawdź swoją ostatnią wartość.
Dzieje się tak dlatego, że:
Wykonałeś instrukcję SQL, która próbowała przekonwertować ciąg znaków na liczbę, ale się nie powiodło.
Jak wyjaśniono w:
Aby rozwiązać ten błąd:
Tylko pola numeryczne lub pola znakowe, które zawierają wartości numeryczne Tylko pola numeryczne lub pola znakowe zawierające wartości numeryczne mogą być użyte w operacjach arytmetycznych. Upewnij się, że wszystkie wyrażenia są obliczane na liczby.