Форма Oracle FRM-40508 Невозможно вставить запись

У меня есть форма, и я создаю предварительную вставку триггера в блок данных

select Investor_Seq.nextval into :INVESTOR.INVESTOR_NUMBER from dual;

все данные действительны, я использую только два триггера, PRE-INSERT и WHEN BUTTON IS PRESS

нажмите кнопку сохранения:

FRM-40508 Невозможно вставить запись

я использую кнопку сохранения триггера, КОГДА КНОПКА НАЖАТА:

commit_FORM;

кажется, ошибка в заявлении PRE-INSERT? но новый номер инвестора отображается в текстовом элементе.

ORA-01400: cannot insert NULL into ("ORCL5_10"."INVESTOR"."INVESTOR_NUMBER")

SQL statment ERROR
INSERT INTO INVESTOR (FIRST_NAME,LAST_NAME,STREET_ADDRESS,CITY,PROVINCE,POSTAL_CODE,
AREA_CODE,PHONE_NUMBER,EMAIL_ADDRESS,ACCOUNT_NUMBER) 
VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10)  

person Parco Guan    schedule 09.04.2020    source источник


Ответы (1)


Если вы проверите список столбцов оператора INSERT, вы увидите, что investor_number среди этих столбцов нет.

Это означает, что хотя триггер PRE-INSERT извлек следующее значение последовательности в поле на экране, он не является частью этой таблицы. Я предполагаю, что его свойство столбец базы данных установлено неправильно, то есть это поле формы не принадлежит таблице investor.

Должно быть легко исправить; просмотрите палитру свойств поля :investor.investor_number и сопоставьте ее со столбцом таблицы.

person Littlefoot    schedule 09.04.2020