3
난 당신이 내가 번호 (38로 포맷이 열을 채우는하고 있음을 볼 수있다, 그러나오라클 삽입 돌아 ORA-01400
SQL Error: ORA-01400: cannot insert NULL into ("CRABERS"."AG_ASSET_REF"."CREATE_ID").
를 반환하는 오라클 11g DB에 다음과 같은 SQL을 시도하고, 0). 가치를 삽입 할 때 왜 내가 ORA-01400을받을 수 있습니까? 당신의 오류가 나타납니다이 트리거로
INSERT INTO ag_asset_ref
(asset_type_id,
create_id,
create_date,
file_size,
bus_unit_id,
status,
name)
VALUES (1050,
2458,
SYSDATE,
50000,
1000,
0,
'test insert')
해당 테이블에서 실행되는 트리거가 있습니까? –
트리거? 트리거가 어떻게 테이블 자체를 참조 할 수 있습니까? 'ag_asset_ref'에 대한 트리거 였고이 테이블을 트리거 내부에서 참조해야한다면, 그 트리거링 오류가 발생해서는 안됩니까? (OP가 11g를 사용하고 있기 때문에 OPTIONS가 'compound'트리거가 아닌 한) – Annjawn
@Annjawn은 트리거가 테이블을 "참조"하지 않고 * 테이블 위에 있습니다. 예 : 아래의 Jeff의 예제에서와 같이,'BEFORE INSERT' 트리거는 테이블에 삽입하려고 시도 할 때마다 실행될'ag_asset_ref' 테이블에 정의 될 수 있습니다. 이것은'BEFORE' 트리거이기 때문에 삽입 된 실제 값을 변경하여 초기 insert 문에서 제공된 값을 무시할 수 있습니다. –