Q&A

  • general SQL error


아래와 같이 Sql 문과 같이 코딩하였습니다.



with Query1 do

begin

Sql.Add('insert into st525m(ym_month, div_gu, sta_ym, div_ioamt, ds_cnt, ds_amt, ja_cnt, ja_ioamt, mu_cnt, mu_ioamt, ch_cnt, ch_ioamt, ba_cnt, ba_ioamt)');

Sql.Add('select extend(current, year to month) ym_month, a.div_gu, a.sta_ym,');

Sql.Add(' a.div_ioamt, a.cnt_de, a.amt_de,');

Sql.Add(' b.cnt1, b.amt_io1, b.cnt2, b.amt_io2, b.cnt3, b.amt_io3,');

Sql.Add(' b.cnt4, b.amt_io4');

Sql.Add('from tmp_de a, outer tmp_su b');

Sql.Add('where a.div_gu = b.div_gu');

Sql.Add('and a.sta_ym = b.sta_ym');

Sql.Add('and a.div_ioamt = b.div_ioamt');

Execsql;

end;



실행을 하면 general Sql error가 납니다.



어디가 잘못 된 것인가요?







2  COMMENTS
  • Profile
    손창근 1999.12.01 04:05
    안녕하세요... 오공이 입니다.



    아래 문장에서 sql은 values가 빠져 있는거 같네요...



    그런데 DB가 무엇인지는 모르겠지만....

    제가 얼마전 oracle에서 testing을 할때 insert에 select로 한 필드 데이타 값이

    안들어 가더라고요...

    제가 실수 한건지 모르겠지만...



    하여간 고생하세요...





    황선희 wrote:

    >

    > 아래와 같이 Sql 문과 같이 코딩하였습니다.

    >

    > with Query1 do

    > begin

    > Sql.Add('insert into st525m(ym_month, div_gu, sta_ym, div_ioamt, ds_cnt, ds_amt, ja_cnt, ja_ioamt, mu_cnt, mu_ioamt, ch_cnt, ch_ioamt, ba_cnt, ba_ioamt)');

    > Sql.Add('select extend(current, year to month) ym_month, a.div_gu, a.sta_ym,');

    > Sql.Add(' a.div_ioamt, a.cnt_de, a.amt_de,');

    > Sql.Add(' b.cnt1, b.amt_io1, b.cnt2, b.amt_io2, b.cnt3, b.amt_io3,');

    > Sql.Add(' b.cnt4, b.amt_io4');

    > Sql.Add('from tmp_de a, outer tmp_su b');

    > Sql.Add('where a.div_gu = b.div_gu');

    > Sql.Add('and a.sta_ym = b.sta_ym');

    > Sql.Add('and a.div_ioamt = b.div_ioamt');

    > Execsql;

    > end;

    >

    > 실행을 하면 general Sql error가 납니다.

    >

    > 어디가 잘못 된 것인가요?

    >

    >

    >

  • Profile
    황선희 1999.12.01 19:58


    답변 주셔서 감사합니다.



    DB는 Informix를 사용하고 있습니다.



    제가 테스트를 해본 결과 values 문제는 아닌 거 같구요.



    데이타가 String 필드도 있고, Integer 필드도 있거든요.



    아마도 거기서 에러가 나는 거 같아요.



    도저히 안되서 그냥 Query의 Sql에 똑같은 sql문을 적어주고 실행을 시켰더니, 이상이 없이 돌아가고 있습니다.





    손창근 wrote:

    > 안녕하세요... 오공이 입니다.

    >

    > 아래 문장에서 sql은 values가 빠져 있는거 같네요...

    >

    > 그런데 DB가 무엇인지는 모르겠지만....

    > 제가 얼마전 oracle에서 testing을 할때 insert에 select로 한 필드 데이타 값이

    > 안들어 가더라고요...

    > 제가 실수 한건지 모르겠지만...

    >

    > 하여간 고생하세요...

    >

    >

    > 황선희 wrote:

    > >

    > > 아래와 같이 Sql 문과 같이 코딩하였습니다.

    > >

    > > with Query1 do

    > > begin

    > > Sql.Add('insert into st525m(ym_month, div_gu, sta_ym, div_ioamt, ds_cnt, ds_amt, ja_cnt, ja_ioamt, mu_cnt, mu_ioamt, ch_cnt, ch_ioamt, ba_cnt, ba_ioamt)');

    > > Sql.Add('select extend(current, year to month) ym_month, a.div_gu, a.sta_ym,');

    > > Sql.Add(' a.div_ioamt, a.cnt_de, a.amt_de,');

    > > Sql.Add(' b.cnt1, b.amt_io1, b.cnt2, b.amt_io2, b.cnt3, b.amt_io3,');

    > > Sql.Add(' b.cnt4, b.amt_io4');

    > > Sql.Add('from tmp_de a, outer tmp_su b');

    > > Sql.Add('where a.div_gu = b.div_gu');

    > > Sql.Add('and a.sta_ym = b.sta_ym');

    > > Sql.Add('and a.div_ioamt = b.div_ioamt');

    > > Execsql;

    > > end;

    > >

    > > 실행을 하면 general Sql error가 납니다.

    > >

    > > 어디가 잘못 된 것인가요?

    > >

    > >

    > >