bufindex = -1;
SELECT FK_IDIndex FROM IDLIST where IDLIST.ID =:ID INTO :BUFINDEX;
if (BUFINDEX < 0) then
이렇게 수정해서 해결했습니다.
알고싶어요 님이 쓰신 글 :
: 안녕하세요.
:
: Table에 ID List라는 Table 이 있습니다. 초기 상태에는 아무 값도 입력이 되어 있지 않은 상태입니다.
:
: 여러대의 PC에서 DB에 Data를 Insert할 때 ID List에서 자기 자신이 등록이 되어 있는지를 확인해서
:
: 등록이 되어 있지 않으면, 자기 자신을 ID List에 Insert할려고 합니다.
:
: 그래서 아래와 같이 procedure를 IB Expert에서 작성을 하고 Test를 해보았습니다.
:
: 그런데 Insert도 안되고, Return 값도 null이 나옵니다.
:
: 어디가 잘못되었는지 알려주시면 감사하겠습니다.
:
: 수고하세요.
:
: create procedure insert_id (ID varchar(15)) returns (ID_INDEX Integer)
: as
: declare variable BUFINDEX integer;
: begin
: SELECT FK_IDIndex FROM IDLIST where IDLIST.ID =:ID INTO :BUFINDEX;
: if (BUFINDEX = NULL) then
: Insert Into IDLIST Values (:BUFINDEX, :ID);
: ID_INDEX = BUFINDEX+1;
: suspend;
: end;
|