데이터베이스 에서 자동 으로 번 호 를 생 성 하 는 실현 방법 공유

2412 단어 자동 생 성 번호
데이터 베 이 스 를 사용 할 때 사용 과정 에서 삭제 하 는 작업 을 피 할 수 없습니다.int 형식의 필드 를 사용 하여 스스로 성장 시 키 는 것 이 가장 간단 한 방법 이지 만 결 과 는 당신 이 원 하 는 것 이 아 닐 수도 있 습 니 다!이 데모 보 세 요:
1.이런 간단 한 표 Test 를 만 듭 니 다.
  
2.필드 id 의 자체 증 가 를 설정 합 니 다.
     
3.표 데이터 추가
  insert into Test(name) values('TestName')
  insert into Test(name) values('TestName')
  insert into Test(name) values('TestName')
4.당신 은 볼 수 있 습 니 다.
  
5.여기에서 우 리 는 id 가 2 인 줄 을 삭제 합 니 다.id 가 1 과 id 가 3 인 두 줄 의 데이터 만 남 았 습 니 다.
6.데 이 터 를 하나 더 추가 합 니 다.
  insert into Test(name) values('TestName')
저희 가 원 하 는 결과 가 아 닐 수도 있어 요.
  
왜 id 가 2 인 게 없 지?그 후에 당신 이 죽 더 라 도 id 가 2 인 데 이 터 는 없 을 것 입 니 다.됐 습 니 다!이런 디자인 도 편리 하지만 악 마 는 디 테 일 에 있 습 니 다.이 블 로 그 는 이 문 제 를 해결 하기 위해 서 입 니 다.id 가 2 인 데이터 줄 을 다시 만 나 게 해 주 는 것 입 니 다.저장 프로 세 스 가 드디어 도움 이 되 었 습 니 다
 
Create procedure [dbo].[insertName]
(@name nvarchar(50))
as
begin
declare @i int
set @i=1
while(@i<10000)
begin
if exists(select convert(int,id) from numbertest where convert(int,id)=@i)
begin
set @i=@i+1
continue
end
else
begin
insert numbertest values(right('0000'+convert(varchar(5),@i),5),@name)-- '5' id                       
break
end
end
end
2.SQL 구문 으로 이 저장 프로 세 스 를 호출 합 니 다.
  execute insertName Test
너 는 몇 번,몇 십 번,몇 백 번 을 미 친 듯 이 눌 러 도 된다.우리 가 원 하 는 데 이 터 를 넣 었 다.
  
우 리 는 지정 한 id 데이터 줄 을 삭제 할 수 있 습 니 다.우리 가 다시 추가 할 때 이전에 삭 제 된 id 줄 은 우리 가 새로 추가 한 데이터 에 의 해 덮어 쓸 것 입 니 다.그러면 id 가 모두 연 결 될 수 있 습 니 다.
아,맞다.어떻게'0'으로 시작 하 는 지 아직 말 안 했 지?이것 은 간단 합 니 다.id 의 데이터 형식 을 nvarchar(5)로 설정 하 는 것 이 이렇게 간단 합 니 다!허허!결론:여기 서 우 리 는 저장 과정 을 호출 했 습 니 다.저장 과정 은 많이 사용 하면 안 됩 니 다.그러나 가끔 은 정말 사용 하기에 편리 합 니 다.이 글 은 방금 일 한 어린이 신발 들 에 게 도움 이 될 것 입 니 다.열심히 공부 하 세 요.생활 이 좋 습 니 다!무 거 운 짐 을 벗 은 듯 한 느낌 이 군요.드디어 문 제 를 해결 하 였 습 니 다.여기 서 저 를 도와 준 어린이 신발 들 에 게 감 사 드 립 니 다!다음 에 또 봐 요!

좋은 웹페이지 즐겨찾기