Q&A

  • 제꺼도 답변좀 해주셔요..흑흑...
키를 잡아줄수가 없는 테이블이 있읍니다(복합키도 안되고...테이블 설계상의 문제라고 생각하지만..쩝 인자 우짜겠읍니까?) 그래서 integer형으로 메인키를 잡았읍니다(로컬디비의 자동 증가 필드처럼....쩝)그래서 항상 입력시 가장 큰값을 얻어와서 거기다가 1더해서 입력을 하는데요...여러컴에서 동시에 입력이 발생하면 문제가....

혹시 스토어드프로시져 등으로 데이타가 COMMIT될때 DBMS상으로 키를 입력하는 방법은 없는지요...그럼 동시에 입력을 한다해도 별문제가 없을껏 같은데...부디..성은을....쩝..

5  COMMENTS
  • Profile
    cell 2000.10.19 02:00
    신승욱 wrote:

    > 키를 잡아줄수가 없는 테이블이 있읍니다(복합키도 안되고...테이블 설계상의 문제라고 생각하지만..쩝 인자 우짜겠읍니까?) 그래서 integer형으로 메인키를 잡았읍니다(로컬디비의 자동 증가 필드처럼....쩝)그래서 항상 입력시 가장 큰값을 얻어와서 거기다가 1더해서 입력을 하는데요...여러컴에서 동시에 입력이 발생하면 문제가....

    > 혹시 스토어드프로시져 등으로 데이타가 COMMIT될때 DBMS상으로 키를 입력하는 방법은 없는지요...그럼 동시에 입력을 한다해도 별문제가 없을껏 같은데...부디..성은을....쩝..





    아래의 답변 처럼 triger를 이용해 보시죠...

    insert의 트리거에서 가장 큰값을 가져와서 다시 Edit 하는 방법이 있네요.

    (Key 값이 없다니 insert후의 insert의 값들을 가져올 수 있으니까 그 값을 가지고 수정을 하면 되겠죠)





  • Profile
    아이언 2000.10.19 00:53
    RDBMS이면..

    Trigger 아시죠?

    이 녀석을 찾아서 구현 하심 될 것 같은데..

    쩝.. 저도.. Trigger는 잘 몰라서리...



    ===============================================================================

    신승욱 wrote:

    > 키를 잡아줄수가 없는 테이블이 있읍니다(복합키도 안되고...테이블 설계상의 문제라고 생각하지만..쩝 인자 우짜겠읍니까?) 그래서 integer형으로 메인키를 잡았읍니다(로컬디비의 자동 증가 필드처럼....쩝)그래서 항상 입력시 가장 큰값을 얻어와서 거기다가 1더해서 입력을 하는데요...여러컴에서 동시에 입력이 발생하면 문제가....

    > 혹시 스토어드프로시져 등으로 데이타가 COMMIT될때 DBMS상으로 키를 입력하는 방법은 없는지요...그럼 동시에 입력을 한다해도 별문제가 없을껏 같은데...부디..성은을....쩝..

  • Profile
    엑소 2000.11.04 20:25
    위분이 말씀하신것처럼 하세요.

    INSERT TRIGGER는 매건(record) 입력시마다 발생하므로

    unique한 값을 넣을수 있음.



    CREATE TRIGGER pm_user_id FOR pm_user

    BEFORE INSERT AS

    BEGIN

    //유니크한 값을
  • Profile
    linuxwiz 2000.10.19 02:02
    꽁수하나...

    숫자필드하나, etc필드 하나 잡아서 테이블을 만드세여..

    그리구..



    그래서 유저가 입력을 할시에..

    번호를 하나 증가시키구여.. 바로 위에서 만든 키를 디비에 입력을 하세여...

    그러면 여러명이 들어와두 서로 다른 키를 갖게 되기땜시 키로 인한 충돌은 나지 않습니다...



    그런데 만약에 유저가 입력을 안하구 그냥 나오면 어쩌냐구여...

    할 수 없음다...



    주로 전표번호등 고유의 번호를 가져야 하구 여러 군데서 입력을 하는 번호가 생길때 쓰는

    방법인데...

    위의 방법을 마니들 쓰니까...



    꽁수라고 하기에도 좀 그렇져..





    아이언 wrote:

    > RDBMS이면..

    > Trigger 아시죠?

    > 이 녀석을 찾아서 구현 하심 될 것 같은데..

    > 쩝.. 저도.. Trigger는 잘 몰라서리...

    >

    > ===============================================================================

    > 신승욱 wrote:

    > > 키를 잡아줄수가 없는 테이블이 있읍니다(복합키도 안되고...테이블 설계상의 문제라고 생각하지만..쩝 인자 우짜겠읍니까?) 그래서 integer형으로 메인키를 잡았읍니다(로컬디비의 자동 증가 필드처럼....쩝)그래서 항상 입력시 가장 큰값을 얻어와서 거기다가 1더해서 입력을 하는데요...여러컴에서 동시에 입력이 발생하면 문제가....

    > > 혹시 스토어드프로시져 등으로 데이타가 COMMIT될때 DBMS상으로 키를 입력하는 방법은 없는지요...그럼 동시에 입력을 한다해도 별문제가 없을껏 같은데...부디..성은을....쩝..

  • Profile
    신승욱 2000.10.19 02:11
    어허헉...감샤합니다...

    어쨋든 방향은 잡은것 같으니..Trigger나 linuxwiz님이 말씀하신 방법으로 시도 해보고 안되면 다시 울면서 질문해야지요..