Q&A

  • 오라클에서는 되는데 델파이에서는 안됩니다....
rSQL1 := ' select aa.ham, aa.mcd, aa.ocd, bb.zcd from '

+ ' (select c.pcd , m.ham, m.mcd , m.ocd '

+ ' from plc c, mem m where c.mcd = ';

rsql2 := ' and c.mcd = m.mcd) aa, plm bb '

+ ' where aa.pcd = bb.pcd';

sql.add(' rsql1 + :mcd + rsql2 ');

ParamByName('mcd').AsString := mcd;



오라클에서는 결과가 나오는데.....

델파이에서는 잘못된 sql이라는데

어디가 잘못된건가요.....

부탁드립니다......

2  COMMENTS
  • Profile
    정지호 2000.10.11 19:10
    young wrote:

    > rSQL1 := ' select aa.ham, aa.mcd, aa.ocd, bb.zcd from '

    > + ' (select c.pcd , m.ham, m.mcd , m.ocd '

    > + ' from plc c, mem m where c.mcd = ';

    > rsql2 := ' and c.mcd = m.mcd) aa, plm bb '

    > + ' where aa.pcd = bb.pcd';

    > sql.add(' rsql1 + :mcd + rsql2 ');

    > ParamByName('mcd').AsString := mcd;

    >

    > 오라클에서는 결과가 나오는데.....

    > 델파이에서는 잘못된 sql이라는데

    > 어디가 잘못된건가요.....

    > 부탁드립니다......



    sql.add(' rsql1 + :mcd + rsql2 '); 이부분이

    > sql.add( rsql1 + ' :mcd ' + rsql2 ); 이렇게 바뀌어야

    될것 같은데요

    sql.add(' rsql1 + :mcd + rsql2 ');

    이렇게 하면 sql 문이 'rsql1 + :mcd + rsq2'으로 되버리지요





  • Profile
    창백한달빛 2000.10.11 19:08
    델파이에 보시면 SQL Monitor라는 프로그램이 있습니다.



    작성하신 프로그램을 실행을 하시기 전에 실행을 하시고 F9나 등등으로

    실행을 하시면 파라미터와 쿼리의 값들이 전해지는 것들을 잡아냅니다.

    이것을 확인하시는 것이 어떨까요.(Copy-paste 하여 Oracle에 실행..)

    참고로 제 짧은 소견으로는 밑에 쿼리는 굉장히 비 효율적입니다. 데이타의 건수가

    증가하면 Performance가 장난이 아니게 떨어질것 같은데...



    young wrote:

    > rSQL1 := ' select aa.ham, aa.mcd, aa.ocd, bb.zcd from '

    > + ' (select c.pcd , m.ham, m.mcd , m.ocd '

    > + ' from plc c, mem m where c.mcd = ';

    > rsql2 := ' and c.mcd = m.mcd) aa, plm bb '

    > + ' where aa.pcd = bb.pcd';

    > sql.add(' rsql1 + :mcd + rsql2 ');

    > ParamByName('mcd').AsString := mcd;

    >

    > 오라클에서는 결과가 나오는데.....

    > 델파이에서는 잘못된 sql이라는데

    > 어디가 잘못된건가요.....

    > 부탁드립니다......