우선 부서테이블 입니다. --------------------------------------------------------
CREATE TABLE C99DEPT
(
DEPT CHAR(5) NOT NULL, /* 부서코드 */
DEPTNM VARCHAR2(10) DEFAULT '' NOT NULL, /* 부서명 */
BIGO VARCHAR2(20) DEFAULT '' NOT NULL, /* 비고 */
CONSTRAINT UPKCL_C99DEPT PRIMARY KEY (DEPT)
USING INDEX TABLESPACE CCMO_INDEX
STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS UNLIMITED)
);
모두 NOT NULL입니다. 저희 같은 경우는 NULL을 쓰지 않고 '' 인 빈문자열 가지고
합니다. (값 비교, insert, update 등)
다음은 델파이 소스의 간추린 내용입니다. ----------------------------------------------------
with dsDEPT.DataSet do begin
Append;
FieldByName('DEPT').AsString := Trim(txtDEPT.Text);
FieldByName('DEPTNM').AsString := Trim(txtDEPTNM.Text);
FieldByName('BIGO').AsString := '';
Post;
end;
제가 궁금한것이요 FieldByName('BIGO').AsString := ''; 라는 부분인데요
MSSQL에서는 잘 작동합니다.
그런데 ORACLE(이번에 처음 해봅니다.. ㅠ.ㅠ) 에서는 이 방법이 안되더군요
위 방법대로 하면 NULL로 인식해버리는 문제가 있더군요..
MSSQL에서는 아무런 문제도 없이 잘 작동하던것이 말입니다.
그래서 지금 쓸려고 하는 방법이 FieldByName('BIGO').AsString := ' '; 입니다.
우습죠? ㅡ.ㅡ;;;
아니면 NULL로서 값을 가져가야 하는지 궁금하네요..
다른분은 실무에서 어떻게 쓰시는지 정말 궁금합니다.
답변 부탁드리겠습니다.
꾸뻑~
> 우선 부서테이블 입니다. --------------------------------------------------------
> CREATE TABLE C99DEPT
> (
> DEPT CHAR(5) NOT NULL, /* 부서코드 */
> DEPTNM VARCHAR2(10) DEFAULT '' NOT NULL, /* 부서명 */
> BIGO VARCHAR2(20) DEFAULT '' NOT NULL, /* 비고 */
>
> CONSTRAINT UPKCL_C99DEPT PRIMARY KEY (DEPT)
>
> USING INDEX TABLESPACE CCMO_INDEX
> STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS UNLIMITED)
> );
>
> 모두 NOT NULL입니다. 저희 같은 경우는 NULL을 쓰지 않고 '' 인 빈문자열 가지고
> 합니다. (값 비교, insert, update 등)
>
>
> 다음은 델파이 소스의 간추린 내용입니다. ----------------------------------------------------
>
> with dsDEPT.DataSet do begin
>
> Append;
>
> FieldByName('DEPT').AsString := Trim(txtDEPT.Text);
> FieldByName('DEPTNM').AsString := Trim(txtDEPTNM.Text);
> FieldByName('BIGO').AsString := '';
>
> Post;
> end;
>
> 제가 궁금한것이요 FieldByName('BIGO').AsString := ''; 라는 부분인데요
>
> MSSQL에서는 잘 작동합니다.
>
> 그런데 ORACLE(이번에 처음 해봅니다.. ㅠ.ㅠ) 에서는 이 방법이 안되더군요
>
> 위 방법대로 하면 NULL로 인식해버리는 문제가 있더군요..
>
> MSSQL에서는 아무런 문제도 없이 잘 작동하던것이 말입니다.
>
> 그래서 지금 쓸려고 하는 방법이 FieldByName('BIGO').AsString := ' '; 입니다.
>
> 우습죠? ㅡ.ㅡ;;;
>
> 아니면 NULL로서 값을 가져가야 하는지 궁금하네요..
>
> 다른분은 실무에서 어떻게 쓰시는지 정말 궁금합니다.
>
> 답변 부탁드리겠습니다.
>
> 꾸뻑~
오라클디비의 필드를 Not Null로 설정하면 오라클으 반드시 무었인가를 입력 받아야
합니다. 그러지 않으면 인서트,업데이트등이 안됩니다.
Not Null 선언을 하지 마시고 그냥 해 보세요 Null 든 '' 이든 잘 들어갑니다.