까막님,
감사합니다...
NOT NULL 없이도 했는데...
결과은 같음..... 에이구...
까막.윤창희 님이 쓰신 글 :
: Jordan 님이 쓰신 글 :
: : 안녕하세요..
: : firebird 칼럼 사이즈 변경을 하기 위해.. 델파이에서 IBScript를 사용여.. 아래와 같이 변경을 했시만.. 신규 칼람추가후 인식을 못한다고 에러가 발생함.... 몇일계속 고생하고 있음.
: :
: : IBScript에서 아래와 같이 입력하고
: :
: : ALTER TABLE EQUIP_TBL ADD EQUIP_ID CHAR(02) NOT NULL;
: : UPDATE EQUIP_TBLSET EQUIP_ID = EQUIPID WHERE EQUIPID IS NOT NULL;
: : ALTER TABLE EQUIP_TBL DROP EQUIPID ;
: : ALTER TABLE EQUIP_TBLALTER EQUIP_ID TO EQUIPID ;
: : ALTER TABLE EQUIP_TBL DROP EQUIP_ID ;
: :
: : 위와같이 IBSCRIPT를 실행하면...
: :
: : "SQL error code = -206
: : Colunm unknown
: : EQUIP_ID
: : At line 1, column 17' 이렇게 발생합니다.
: :
: : 위에 명령어 실행하기 전에.. IBTransaction1.StartTransaction 시작을 하였고.
: : 명령어 수행 후 IBTransaction1.Commit 했는데. 왜 인식을 못하지요 ?
: :
: : 도와주세요.
:
: 안녕하세요. 까막입니다.
:
: 원래 기존에 데이터가 존재하는 테이블에 필드를 추가할때는 NOT NULL 속성으로 필드를 추가할 수가 없습니다.
: 속성 자체는 NOT NULL 인데, 필드를 추가할때는 DEFAULT 값이 지정된게 없으므로 당연하겠죠.
:
: 그런데, Firebird 에서는 가능하네요. -- 버그인지...
: 이 부분은 Backup/Restore 시에 문제가 발생할 여지가 있으므로 주의하셔야 합니다.
:
: 아무튼, 위 첫번째 줄이 정상적으로 실행이 되는 상황에서는 마지막 줄 말고는 오류가 있을 만한 부분이 없네요.
: ALTER TABLE EQUIP_TBLALTER EQUIP_ID TO EQUIPID ;
: 이 부분에서 EQUIP_ID 를 EQUIPID 로 필드명을 변환을 하였으므로.
: ALTER TABLE EQUIP_TBL DROP EQUIP_ID ;
: 이 부분을 실행하면 EQUIP_ID 라는 필드가 없으므로 오류가 나겠죠.
:
:
:
:
: 혼이 살아 있을까.... 대한민국.
|