Q&A

  • TRY - EXCEPT 구문 에러???
INSERT하고 실패하며, UPDATE하는 코드를 작성하려고 합니다....

근데.. 키 바이올레이션 에러가 계속나네요..

디비는 파라독스입니다... 문제가 뭔지 알려주세요!!!!!!



Try

SQL.ADD('INSERT INTO table1');

Sql.Add(' VALUES(:V1,:V2, V3, V4)');

PREPARE;

PARAMBYNAME('V1').ASSTRING := '0001';

PARAMBYNAME('V2').ASSTRING := '홍길동';

PARAMBYNAME('V3').ASSTRING := 'xxxx';

PARAMBYNAME('V4').ASSTRING := 'ZZZZ';

EXECSQL;

Except

SQL.ADD('UPDATE Y_table1');

SQL.ADD(' SET Code = :V1, Name = :V2', TEL = :V3, ADDR = :V4');

SQL.ADD(' WHERE Code = :D1 AND NAME = :D2');

PARAMBYNAME('V1').ASSTRING := '0001';

PARAMBYNAME('V2').ASSTRING := '홍길동';

PARAMBYNAME('V3').ASSTRING := 'xxxx';

PARAMBYNAME('V4').ASSTRING := 'ZZZZ';



PARAMBYNAME('D1').ASSTRING := '0001';

PARAMBYNAME('D2').ASSTRING := '홍길동';

EXESQL;

END;





1  COMMENTS
  • Profile
    아폴론 2001.01.18 09:07
    > Try

    SQL.close; <=====추가

    SQL.clear; <=====추가

    > SQL.ADD('INSERT INTO table1');

    > Sql.Add(' VALUES(:V1,:V2, V3, V4)');

    > PARAMBYNAME('V1').ASSTRING := '0001';

    > PARAMBYNAME('V2').ASSTRING := '홍길동';

    > PARAMBYNAME('V3').ASSTRING := 'xxxx';

    > PARAMBYNAME('V4').ASSTRING := 'ZZZZ';

    > EXECSQL;

    > Except

    SQL.close; <=====추가

    SQL.clear; <=====추가

    > SQL.ADD('UPDATE Y_table1');

    > SQL.ADD(' SET Code = :V1, Name = :V2', TEL = :V3, ADDR = :V4');

    위 구문에는 키값이 없겠죠?

    > SQL.ADD(' WHERE Code = :D1 AND NAME = :D2'); <====키값이겠죠?

    PARAMBYNAME('D1').ASSTRING := '0001'; <====키값이겠죠? 앞에 놓으세요

    > PARAMBYNAME('D2').ASSTRING := '홍길동'; <====키값이겠죠? 앞에 놓으세요

    > PARAMBYNAME('V1').ASSTRING := '0001';

    > PARAMBYNAME('V2').ASSTRING := '홍길동';

    > PARAMBYNAME('V3').ASSTRING := 'xxxx';

    > PARAMBYNAME('V4').ASSTRING := 'ZZZZ';

    > EXESQL;

    > END;

    >

    >