MS Server 와 Oracle 에서 NULL 처리 에 대한 세부 적 인 차이

855 단어 MSServerOracleNULL
INSERT INTO Table(TestCol)VALUES(')의 TestCol 필드 는 사실 디자인 할 때 NOT NULL 로 설계 되 었 지만,sql server 에서 null 과 빈 칸 이 다르다 는 것 을 알 아야 한다.즉,위의 문 구 는 빈 것 이지 만 NULL 이 아니다.우리 의 삽입 문 에 이 필드 가 없 을 때 만.비어 있 지 않 은 조건 의 제약 을 위반 한 것 으로 여 겨 지 는데,여기 서 영어 로 표현 하 는 것 이 좀 더 정확 해 질 수 있 고,NULL 을'비어 있다'고 번역 하면 헷 갈 리 기 쉬 울 수 있다.또한,우리 필드 가 INT 형식 이 라면 빈 칸 을 삽입 하면 0 을 얻 을 수 있 습 니 다.즉,MS Sql server 는 자동 으로 빈 칸 에 대한 전환 을 처리 해 줍 니 다.그러나 Oracle 에 서 는 이 편리 함 이 존재 하지 않 습 니 다.우 리 는 규칙 에 따라 엄 격 히 삽입 해 야 합 니 다.즉,우 리 는 빈 칸 을 삽입 하여 NOT NULL 의 디자인 제약 을 만족 시 키 려 고 합 니 다.이미 성공 할 수 없습니다.우 리 는 실제 내용 을 삽입 해 야 NOT NULL 의 제약 에 부합 할 수 있 습 니 다.이와 유사 한 세부 사항 은 우리 가 MS Sql 을 만족 시 키 는 동시에 Oracle 의 시스템 을 만족 시 켜 야 할 때 특히 우리 가 처리 해 야 할 일상적인 일이 될 수 있다.이런 측면 에서 우 리 는 우리 의 sql 스 크 립 트 를 엄 격 히 규범화 시 키 고 프로그램 처리 문 구 를 엄격 한 조건 으로 통제 해 야 한다.그렇지 않 으 면 비슷 한 문제 가 연 조 될 때 우 리 를 이어지는 악몽 에 빠 뜨 릴 수 있다.

좋은 웹페이지 즐겨찾기