Q&A

  • 증가값 조회하기
안녕하세요? 날마다 열심인 델초보 입니다.

1. 테이블 프라이머리 키를 자동으로 증가하게 했습니다.(mssql7.0)

근데 방금 레코드가 입력되었다면 그 입력한 프라이머리키 값을 알아야합니다.

좋은 방법이 없을까요?



2. 위와 같이 프라이머리 키를 사용할때 클라이언트에서 여러명이 동시에

어떤 작업을 함으로 인해 생기느 에러는 없을까요?



항상성의 있는 답변에 감사드립니다.



1  COMMENTS
  • Profile
    이경문 2000.08.02 02:05
    후루꾸(?) 로 해결하는 방법이 있습니다.



    1. MS Access에서는 일련번호라는 타입이 있습니다. 이런 타입을 사용하는 방법



    2. 숫자타입으로 인련번호를 구성할 때는 코딩을 해줘야 합니다.

    예를 들면 임의의 레코드를 삽입할 때

    procedure TForm1.Insert;

    var

    SN: Integer;

    begin

    try

    SN := Table1.FieldByName('SN').AsInteger;

    except

    SN := 0;

    end;

    SN := SN + 1;

    Table1.Insert;

    Table1.FieldByName('SN').AsInteger := SN;

    ... 나머지 필드를 여기서 처리하고 ...

    Table1.Post;

    end;



    3. 한 DB에 동시에 Write를 하는 경우에는 2번의 경우 문제가 발생할 수 있습니다.

    이럴 때는 무식한 방법을 사용해야 하는데 어떻게 하느냐......

    Temp Table을 이용하여 필드 한개, 레코드 한개의 데이터를 가지고 있는 것입니다.

    그 값에는 테이블의 최대 Primary Key값을 가지게 되는 것이지요.

    그렇게 하면 Primary Key의 중복을 처리할 수는 있습니다.



    쩝, 주접이었습니다.