Jordan 님이 쓰신 글 :
: 까막님,
: 감사합니다...
: 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 라는 필드가 없으므로 오류가 나겠죠.
: :
: :
: :
: :
: : 혼이 살아 있을까.... 대한민국.
안녕하세요. 까막입니다.
제가 테스트 했을때는 마지막 줄 말고는 문제가 없었는데요.
제가 쓰고 있는 DB 의 기존 테이블에 Jordan 님이 하신 것처럼 해서 실행해서는 정상적으로 되었는데요.
차이점이라면 IBExpert 상의 Script Executive 에서 실행한거랑, 필드명은 달랐다는 것.
델파이에서 말고 IBExpert 등에서 했을때도 오류가 나시나요?
한번 점검해 보시는게 어떨까요?
오타 등은 물론 점검하셨겠죠?
혼이 살아 있을까... 대한민국.
|