2014-07-23 2 views
0

CALL (이름은 PK), 이름, 나이, 주소는 입니다. 일부 데이터베이스에서는 동일한 필드가있는 Person 테이블이 있습니다.버튼 Oracle Forms에 삽입

내 목표는이 코드 나에 의해 개발 된 삽입 버튼을 클릭의 표 사람으로이 양식에서 데이터를 삽입하는 것입니다

insert into personne values(:personne.name,:personne.age,:personne.adresse,:personne.cin); 

probem은 그 나는 새 데이터로 양식을 작성하는 경우 삽입 버튼을 클릭하면 다음과 같은 오류가 나타납니다. ORA 00001 : 데이터를 미리 테이블에서 지웠을지라도 위반을 제한합니다.

아무도 모르게 생각하십니까? 사전에

덕분에

+1

트리거에서 커밋을 수행하고 데이터베이스 테이블 인물을 기반으로하는 블록입니까? ORA-00001 – nightfox79

+1

일반적으로 Oracle Forms에서 수동으로 insert 문을 수행 할 필요가 없습니다. 데이터베이스 테이블을 기반으로하는'block '을 만들고, 일반적인 Oracle Forms 비헤이비어가 inserts/updates/etc를 처리하게하십시오. – GriffeyDog

+0

버튼에 다른 코드가 있습니까? 대부분의 문제는 nightfox79와 GriffeyDog이 쓴 것이지만 자세한 내용 없이는 말하기가 어렵습니다. – DJPeter

답변

0

그리피는 오라클 형태 인 타이틀 DML에 프로세스를 제어 할 수 있도록이 삽입 할 수있는 가장 좋은 방법은, 테이블을 기반으로 블록을 만드는 말했다한다.

오류는 다음과 같이 시도 할 수 있도록 더 많은 레코드에 동일한 PK를 삽입하려고한다는 것을 의미합니다. 1- pk 필드를 자동으로 생성하는 시퀀스 생성 (oracle 양식 또는 before insert 트리거를 통해) 데이터베이스에서 PK가 널 (NULL) 일 때, 순서를 사용하여 값을 지정하십시오.)

2- 삽입 전에 pk 필드의 값을 표시하는 메시지를 사용하십시오. :
메시지 ('cin :'|| : personne.cin);

내가 리모컨을 통해 도움을 받고 싶다면 알려주세요.