어디선가 이미 Transaction 을 열고 실행중인 것 아닌가요. 하나의 transaction 내에서 다중 transaction 을 지원하지 못합니다. (현재 PostgreSQL 의 제한점입니다)
앞에서 부터 차근차근 실행해 보시기 바랍니다.
만약 새로운 transaction 을 무조건 시작해야 한다면 BEGIN 앞에 COMMIT 를 넣어 주시기 바랍니다.
> c 소스중에 db 연관부분 입니다.
>
> #include <ecpglib.h>
> #include <string.h>
> #include <stdlib.h>
>
> EXEC SQL INCLUDE sqlca;
> EXEC SQL define NAME_SIZE 20;
>
> EXEC SQL BEGIN DECLARE SECTION;
> varchar name[NAME_SIZE+1];
> EXEC SQL END DECLARE SECTION;
>
> EXEC SQL CONNECT TO 'test';
> EXEC SQL BEGIN TRANSACTION;
> EXEC SQL INSERT INTO KO(name) VALUES(:name);
> EXEC SQL COMMIT;
> EXEC SQL DISCONNECT;
>
> 위 구문을 for 문으로 돌려서 insert를 시켰더니 다음과 같은 내용이 출력됩니다.
> 어떤 이유에서 인지 답변좀 해주세요..
>
> NOTICE: BEGIN: already a transaction in progress
>
|