求如何锁定插入操作,生成以年份为基础的自动增长列?
有两列
一列是 YearID ,一列是ID 有记录如下:
2012 1
2012 2
2012 3
2012 4
2012 5
2012 6
sql server 自动的自动增长是用不成的,所以,只好先根据年份取出当年ID的最大值。然后在此基础上增加1
那么如果在取得并增加的这个过程中锁定数据库不让其他用户插入?
------解决方案--------------------
理論上是沒問題的,對於幷發環境我沒測試過。
Insert操作的時候,就會生成排他鎖x鎖,也就是不让其他用户继续插入数据。