KEY 필드로 선언된 곳에 값이 없이 구성된 인터널테이블 정보를 DB에 저장하면 저장이 되지 않아야
맞는거 아닌가요?
예를 들어
FD1(KEY) FD2(KEY) FD3
--------------------------
abc
위와 같을 경우 해당건은 KEY필드가 비어 있기때문에
DB에 반영이 되면 안되는거 아닌가요?
댓글 5
-
은우야
2009.03.11 19:36
-
엉큼고냥이
2009.03.11 22:23
방금 테스트 해봤는데 키값이 없어도
DB에 들어가네요 은우야님이 말씀하신것처럼 null로 인식해서 insert가능하네요
그런데 null값으로 한건만 insert되고
null값으로 insert하려하면 이미 중복 키값이 있다고 더이상 insert되진 않네요^^
-
activeman
2009.03.12 06:20
se11에 보시면 initial value 체크 박스가 있습니다 ..
이부분이 "not null"을 설정하는 부분입니다.
이걸체크하면 not null로 테이블이 생성되고 값을 넣지 않을 경우 char는 ' '로 숫자는(자릿수만큼) '000'가 디폴트로 들어 갑니다.
키값은 not null로 설정하는것이 좋겠지요..
sap에서는 테이블의 값을 모두 not null로 설정하는 부분이 있는것 같습니다. "null"로 설정 해도 not null로 바뀌게 되는군요...
값이 없다는 개념(초기값, 숫자는 0)하고 "null"은 다른 개념입니다.
"null"은 값을 알수 없다는 개념으로 이해하셔야 합니다.
그래서 테이블의 키값이 null로 선언되어 있다면 값이 무한정 들어 가야 하는것이 맞을 것 같습니다.(실제로 오라클에서는 nll로 하면 값이
계속 입력되는걸로 알고 있습니다.)
se11-> db오브젝트 ->조회에서 보시면 테이블의 필드 속성이 null 인지 확인할 수 있습니다.
즐밥하세요..
-
아밥돌이
2009.03.13 00:06
null null abc 이것을 통으로 key로 인식하는거죠
나머지는 위의 분들이 말한것 처럼 속성이 not null이냐 아니냐 문제지요
근데 보통 보면 null을 허용하던데요
-
activeman
2009.03.13 23:59
보통 NULL을 허용한다구요?.. 저희쪽 사이트만 NULL을 허용하지 않는건지요?
그런데 NULL을 허용하니까 문제가 있더군요..SE11에서 자료를 검색할때 빈칸(CHAR형)을 넣고 조회를 하면 NULL이 허용된 필드에서는
값을 제대로 불러 오지 못합니다. 당연한 말씀이겠지만 ' '와 NULL은 엄연히 다른 값이기 때문에 조회값을 제대로 가져 오지 못하더군요
즐밥하세요..
반영됩니다...
key 선언시 not null로 선언되어있지 않다면(sap에서 가능한가요?)
하나의 키값으로 인식됩니다.
FD1(KEY) FD2(KEY) FD3
--------------------------
abc
값이 또 insert되려한다면 에러가 나겠죠