Oracle Форма FRM-40508 Невозможно вставить запись - PullRequest
0 голосов
/ 09 апреля 2020

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

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

все данные действительны, я использую только два триггера, ПРЕДВАРИТЕЛЬНАЯ ВСТАВКА И КОГДА КНОПКА НАЖМИТЕ

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

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)  

1 Ответ

2 голосов
/ 09 апреля 2020

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...