1번 table : a , b , / c, d, e
2번 table : a, f , g / h, i, j , k
예를 들어,
위와같이 2개의 테이블이 있다고 할때, ("/" 앞에 있는 a, b, f, g는 키값입니다.)
제가 한번은 두테이블의 필드를 모두 인터널 테이블에 넣고( itab = a, b, c, d, e, f, g, h, i, j, k ) ,
새로운 값 insert하고 modify하고 다시 테이블에 modify도 하고 했었는데요.
이렇게 했던 이유는 키값을 중심으로 두테이블의 각 필드별로 값을 넣어줘야 하는데,
테이블에 들어있던 값을 불러온 후, 값을 수정하고, 다시 저장하는 등.. 작업을 하기에 편하다고 생각해서 였습니다.
그런데 어느분 말씀이..
두테이블의 모든 필드를 itab에 넣어서 사용하면,
개발자의 입장에선 편하겠지만
안되는 거라고 하더군요..
처음엔 '왜? ' 라는 생각만 들고, 그랬는데.....결국...아직도 이해를 못하겠네요.
그래서 조언을 부탁드립니다.
보통 인터널테이블 설정시에 여러 cbo테이블을 사용한다면 어떻게 하는게 가장 바람직한건가요?
모든 필드를 넣어서 사용하면 어떤점때문에 안좋은건가요?
많은 조언 부탁드립니다. (__)
댓글 3
-
초보아밥퍼
2008.04.04 00:00
-
activeman
2008.04.04 01:06
인터널테이블을 두개로 나눠서 프로그램 하시는게 편합니다..
1번 table : a , b , / c, d, e
2번 table : a, f , g / h, i, j , k
두테이블을 불러와서 각각 필드의 값을 변경하고 DB에 저장을 한다면
각각의 인터널테이블에서 자료를 변경한후
MODIFY DBTAB FROM TABLE ITTAB.
이런씩으로 문장도 간단해 지고 프로그램 처리 속도도 빠르게 됩니다.(어떤분들은 LOOP 를 돌리면서 MODIFY나 INSERT 하시는데 속도가
영 안나오게 되죠....)
윗분 말대로 상황에 따라 다르겠지만..위의 경우는 나눠서 작업하시는게 편합니다..
즐밥하세요..
-
다급
2008.04.07 17:53
두 분 답변 감사합니다..
흠 이해가 좀 안되는 감이 없지 않아 있습니다.
사용할 필드는 당연 사용이 되어야 겠지만 윗글로 봐서는 사용을 다 하시는 필드로 보입니다.
필요없는 필드를 과연 왜~ 와땀시~ 선언을 하겠습니까...
단지 필요없는 필드를 넣었다면
제 생각으로는 다음에 유지보수하시는분(개발자의 입장에선 편하다?)이 혼란이 좀 있으리라 봅니당.
역시 불필요 필드를 선언하는건 메모리 낭비겠죠. 안될건 없습니다. ㅋㅋ