Я не так попал в базу данных, и у меня есть следующая проблема, пытающаяся реализовать простой запрос , который вставляет новую запись в базу данных Oracle.Почему я не могу выполнить этот запрос вставки, если для определенного значения поля установлено значение null?
Так что мой стол имеет следующую структуру:
DESCRIBE FLUSSO_XMLSDI
Nome Nullo Tipo
-------------- -------- ------------
NUMERO_FATTURA NOT NULL VARCHAR2(15)
DATA_EMISSIONE DATE
XML CLOB
PFK_PIVA VARCHAR2(16)
PDF VARCHAR2(1)
Так как вы можете увидеть последнее поле этой таблицы называется PDF и это обнуляемым и иметь 1 символ в качестве длины (Это определяется как VARCHAR2 (1 BYTE), но я думаю, что это означает, что он может содержать только символ).
Так что моя проблема в том, что если я делаю:
INSERT INTO FLUSSO_XMLSDI (NUMERO_FATTURA, DATA_EMISSIONE, XML, PFK_PIVA, PDF)
VALUES (004600002149, date'2015-03-16', 'TEST' , 80003690668, 'S');
Он работает и новая запись правильно вставлена в мой FLUSSO_XMLSDI стол.
Но когда я пытаюсь сделать (настройка по Pdf поле для ** нуль):
INSERT INTO FLUSSO_XMLSDI (NUMERO_FATTURA, DATA_EMISSIONE, XML, PFK_PIVA, PDF)
VALUES (004600002149, date'2015-03-16', 'TEST' , 80003690668, null);
я получаю следующее сообщение об ошибке:
Errore con inizio alla riga 1 nel comando:
INSERT INTO FLUSSO_XMLSDI (NUMERO_FATTURA, DATA_EMISSIONE, XML, PFK_PIVA, PDF)
VALUES (004600002149, date'2015-03-16', 'TEST' , 80003690668, null)
Report errori:
Errore SQL: ORA-01403: no data found
ORA-06512: at "EDIWEA.TRI_P_FLUSSO", line 10
ORA-04088: error during execution of trigger 'EDIWEA.TRI_P_FLUSSO'
01403. 00000 - "no data found"
*Cause:
*Action:
Почему я не могу указать что PDF значение поля как null также если его можно сгинуть? Что мне не хватает? Как я могу исправить эту проблему?
На столе есть триггер: EDIWEA.TRI_P_FLUSSO. Что оно делает? –
В триггере EDIWEA.TRI_P_FLUSSO есть, вероятно, инструкция SELECT ... INTO, которая не дает результата, когда поле PDF равно NULL. – ErikL
Хотя схема таблицы допускает нулевые значения, появляется триггер, который работает со значением в столбце который ожидает значение. Либо триггер должен быть переписан для обработки нулей, либо схема таблицы должна быть изменена (если возможно), чтобы не допускать их в первую очередь. –