[MSSQL]코드 자동증가값 스크립트 본문

[PL]/DB

[MSSQL]코드 자동증가값 스크립트

객과 함께. 2011. 11. 16. 23:36

작업 하다가 작성한 스크립.

각각의 코드의 정수형 값을 자동 증가 하도록 한것.

IF (@work_id = 4)
 BEGIG
 select @cnt = count(*) from 테이블명 WHERE doc_id = @doc_id and doc_type = @doc_type and form_id = @form_id IF(@cnt != 0)
 begin
  select @SqeNo = reviewDocNo2 from 테이블명 WHERE doc_id = @doc_id and doc_type = @doc_type and form_id = @form_id
 
  iF(@SqeNo != '')
  begin

--특정 한 곳의 자릿수가 2 , 3 인지 검사
   set @etc_cnt = LEN(substring (@SqeNo , 5 , charindex('-', substring(@SqeNo , 5, LEN(@SqeNo)))-1)
   IF(@etc_cnt = 2)  --2이면 실행 되는 곳
    begin
     set @SqeNo1 = substring(@SqeNo, 0 , 16) + convert(nvarchar , convert(int , substring(@SqeNo , 16 , 1)) + 1) + 'R'     
    end
   ELSE IF(@etc_cnt = 3)  --3일때 실행
    begin
     set @SqeNo1 = substring(@SqeNo, 0 , 17) + convert(nvarchar , convert(int , substring(@SqeNo , 17 , 1)) + 1) + 'R'
    end
   ELSE
    begin
     set @SqeNo1 = 0
    end
  end

--자동 증가한 코드 값을 필드에 업데이트 시킴
  update 테이블명  set reviewDocNo2 = @SqeNo1 where doc_id = @doc_id and doc_type = @doc_type and form_id = @form_id
 end
 END