濮阳杆衣贸易有限公司

主頁 > 知識庫 > 在數(shù)據(jù)庫中自動生成編號的實現(xiàn)方法分享

在數(shù)據(jù)庫中自動生成編號的實現(xiàn)方法分享

熱門標簽:最新人工智能電銷機器人 al智能電話機器人 蘭州語音外呼系統(tǒng)運營商 沒聽見電話機器人幫你接 數(shù)字匠心電銷機器人 如何做地圖標注圖鋪 陜西電銷外呼系統(tǒng)好用嗎 成都電話外呼系統(tǒng)一般多少錢 銀川高頻外呼回撥系統(tǒng)多少錢
在使用數(shù)據(jù)庫的時候,難免要在使用過程中進行刪除的操作,如果是使用int類型的字段,令其自增長,這是個最簡單的辦法,但是后果會有些不是你想要的!看下這個Demo:
  1.建立這樣的簡單的表Test.
  
  2.設置字段id的自增.
     
  3.表添加數(shù)據(jù)
  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的兩行數(shù)據(jù)了.(不上圖了)
  6.再添加一條數(shù)據(jù).
  insert into Test(name) values('TestName')
  我們會發(fā)現(xiàn)這或許不是我們想要的結果了
  
  為什么沒有id為2的呢?    之后任你死命的加,也不會有id為2的數(shù)據(jù)行了!

這樣的設計固然方便,但是魔鬼在于細節(jié),這篇博客就是為了解決這個問題讓我們重新見到id為2的數(shù)據(jù)行(這里順便改進一下,讓結果不只是顯示id為2這樣的int,假如有一天我們的各戶要求我們他們要一個5位數(shù)的id號嗎,從00000開始,OK,這沒問題)

1.主角登場,存儲過程終于派上了用場了
復制代碼 代碼如下:

Create procedure [dbo].[insertName]
(@name nvarchar(50))
as
begin
declare @i int
set @i=1
while(@i10000)
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)--這里的兩個數(shù)字'5' 就是我們要設置的id長度                      
break
end
end
end

2.用SQL 語句調用這個存儲過程
  execute insertName Test
  你可以狂按幾次,幾十次,幾百次,我們要的數(shù)據(jù)加進去了,
  
  我們可以刪除指定的id數(shù)據(jù)行,當我們再次進行添加的時候,之前被刪掉的id行,將會被我們新添加的數(shù)據(jù)所覆蓋,這樣id就都可以連接起來了.
  哦,對了,還沒有說如何顯示的是 '0' 開頭的呢?這個簡單,將id的數(shù)據(jù)類型設置為nvarchar(5),就是這么簡單!呵呵!  
總結:
  這里我們調用了存儲過程,存儲過程不宜多用,但是有的時候還真是用起來很方便,本文章對于剛剛工作的童鞋們應該還是有點幫助的吧,好好學習吧,生活很美好!
  如釋重負的感覺啊,終于搞定一個問題,在這里感謝幫助我的童鞋們! 下次再會!

標簽:鹽城 巴彥淖爾 通化 宜春 朔州 邢臺 本溪 遼源

巨人網(wǎng)絡通訊聲明:本文標題《在數(shù)據(jù)庫中自動生成編號的實現(xiàn)方法分享》,本文關鍵詞  在,數(shù)據(jù)庫,中,自動生成,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在數(shù)據(jù)庫中自動生成編號的實現(xiàn)方法分享》相關的同類信息!
  • 本頁收集關于在數(shù)據(jù)庫中自動生成編號的實現(xiàn)方法分享的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    罗江县| 芦溪县| 七台河市| 永泰县| 舟山市| 通化市| 东乌珠穆沁旗| 天柱县| 松阳县| 北辰区| 昭通市| 广东省| 密云县| 贺州市| 离岛区| 荆州市| 工布江达县| 广东省| 金川县| 开远市| 麟游县| 大同市| 昌吉市| 斗六市| 皮山县| 三江| 江口县| 绥江县| 湘阴县| 诏安县| 铁力市| 五河县| 金寨县| 枣庄市| 德格县| 岳阳市| 甘肃省| 余姚市| 安庆市| 泰安市| 如皋市|