Q&A

  • 최대값을 구해 중복을 피하는 법
자동 증가를 쓰지 않고 '연번' 필드에 숫자를 입력할려고 합니다.

1, 2, 3, 4,..... 이렇게 쭉

그런데 중복 입력을 방지하기 위해 이전에 입력된 숫자 가운데

최대값을 알아내 중복된 숫자가 들어가면 이를 바꿔주는 코드를

작성하고 싶은데 초보라 잘 모르겠군요. 도와 주세요.

DbEdit로 숫자를 입력하고 데이타셋은 sql이 아니고 테이블입니다.

1  COMMENTS
  • Profile
    강호규 2000.10.10 18:12
    mallove wrote:

    > 자동 증가를 쓰지 않고 '연번' 필드에 숫자를 입력할려고 합니다.

    > 1, 2, 3, 4,..... 이렇게 쭉

    > 그런데 중복 입력을 방지하기 위해 이전에 입력된 숫자 가운데

    > 최대값을 알아내 중복된 숫자가 들어가면 이를 바꿔주는 코드를

    > 작성하고 싶은데 초보라 잘 모르겠군요. 도와 주세요.

    > DbEdit로 숫자를 입력하고 데이타셋은 sql이 아니고 테이블입니다.



    글쌔요....

    특별히 다른 방법은 없고

    말씀하신 대로 중복된 값이 들어오면 다시 최대값으로 바꾸어 주는 방법이

    제일 좋은 방법인 것 같습니다.

    RDB를 사용하신다면 트리거를 이용해서 아주 쉽게 구현할 수 있습니다.

    전에 오라클 사용할 때

    Before Insert Trigger에서 최대값을 구해서 PK값으로 사용했던 기역이 납니다.



    일반 로컬DB를 사용하신다면

    완전한 방법은 않되지만

    역시 마찬가지로

    Insert전에 Max(Key)을 Query해서 저장하면 되고요..

    만일 저장시 에러가 났다면

    이미 다른 유저가 동일한 키값으로 Insert했기 때문에

    나는 에러일 가능성이 높기 때문에

    재시도하면 될 것 같습니다.