Oracle errors

Cannot insert NULL into

Ячейка таблицы имеет параметр NOT NULL, значит при INSERT обязательно упоминание этой ячейки

invalid identifier

Неправильное имя у ячейки таблицы. Заметьте, что все имена должны быть заглавными буквами. Что-бы исключить ошибку с использованием зарезервированных слов - используйте двойные кавычки при обращении с данными
ORA-00911: invalid characterИспользуйте двойные кавычки при работе с данными и называйте колонки только буквами и цифрами

ORA-01741:
illegal zero-length identifier

Данные не могут быть пустыми

ORA-00926: missing VALUES keyword

В отличие от Mysql, где можно использовать
INSERT INTO mytable SET mycolumn=myvalue в Oracle INSERT процедура происходит только в формате
INSERT INTO mytable (ID,mycolumn) VALUES (1,"myvalue")

ORA-01861: literal does not match format string Возможно проблема с форматами данных типа date.
to_date('2008-08-13','yyyy-mm-dd');

ORA-07217 sltln: environment variable cannot be evaluated

Вероятно неуказан SID (т.е. домен или IP host-сервера)
ORA-01722: invalid numberВы пытаетесь использовать string-тип вместо integer-типа данных стобца (не надо заключать integer в кавычки при INSERT)

ORA-01756: quoted string not properly terminated

В данных - открытый апостроф, либо данные не заключены в парные апострофы. В Mysql данные используется система преобразования ' в \' , не без помощи addslashes в php. В Oracle же апостроф просто дублируется (' в '').. В php - через
str_replace("'","''",$src);
ORA-01704: string literal too long

Даже с использованием типов данных, поддерживающих более 4 тыс. символов, Oracle не любит длинные SQL и большие данные предпочитает принимать через PL/SQL декларации . С десятой версии Oracle это ограничение поднято до 20 тыс. declare
myClobVar varchar2(32767) := 'string >4000 and <32767 bytes';
begin
update tableWithClob set clobcol = myClobVar;
end;

Как второсортное решение - использовать постепенный UPDATE. rpad в данном примере просто генерирует кучу символов, не обращайте внимания.

UPDATE tableWithClob SET clobcol=clobcol||(rpad('X', 2300)) WHERE ID=17 

 

RSS