看板Programming
标 题Re: [请益] SQL server的流水号如何能重新计算?
发信站成大计中BBS (Tue Jun 20 20:02:42 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.nsysu!news.mksh.phc!news.ccns.n
※ 引述《[email protected] (大ㄅㄅ)》之铭言:
: ※ 引述《artingo (实现吧!)》之铭言:
: : 例如现有资料100笔
: : 在table中的首个栏位设为自动流水号
: : 如今欲删除第51至100笔的资料
: : 然後另外新增新的50笔资料进去
: : 为何该栏位的流水号变为101~150
: : 而不是51~100
: : 导致资料表流水号栏位变为1~50,然後便跳号到101~150
: : 在程式码中或SQL SERVER里该如何设定
: : 才能解决这个空号的跳号问题?
: : 谢谢!
: 那是为了避免编号重复,作为其他表格栏位的key时一定不能重复
: 可以在该表格写一个Trigger for Insert
: 新增资料时先取得目前资料笔数,在自行+1写入
: 或者在其他地方记录笔数,该资料表格也可以用Trigger来做
: 写两个Trigger,一个insert时+1、一个delete时-1
: 作法很多种,也不复杂
要避免空号的问题
光用 +1 -1 恐怕还无法解决
还必须搭配 update 吧
但是这样 对於整个系统会比较好吗?
恐怕 自动编号的栏位 还是得保留
建议 另外用其他栏位来记录
--
㊣Origin:《
成大计中 BBS 站 》[bbs.ncku.edu.tw] 来源:[218-165-90-147.dynamic]