說我有一個名爲「ordernum」字段的表,表示給定的一組行的順序。現在想象一下,我刪除了這些行中的一行。什麼類型的查詢最適合重新分配訂單號碼,以便它們保持順序?T-SQL重新分配訂單編號
下面是一個例子:
ID GROUP_ID名ORDERNUM活躍
-------------------------- -------------------------
0 0 ______________ _______________ '名1' __________ 5__________true
1 _______________ 0 _______________ '名稱2' __________ 4__________true
2 _______________ 0 _______________ 'NAME3' __________ 3__________true
3 _______________ 1 _______________ 'NAME4' __________ 2__________true
4 _______________ 1 _______________ 'NAME5' _________ 1__________true
5 _______________ 1 _______________ 'Name6' _________ NULL__________false
現在,如果我刪除使用id = '4' 我將如何在 'ORDERNUM' 重置值的列字段對於那個特定的組?這甚至有可能嗎?
或者如果我添加了一個新行。 (第一次創建行時,它們按日期排序,但用戶可以選擇自己設置訂單。)
在我的表格設計中,我有一個'active'布爾列。如果'active'被設置爲false,那麼'ordernum'被設置爲NULL。否則,應該給它一個訂單號。
是否要求給定組的ordernum值是連續的? – 2010-05-27 23:14:26
不,組ID並不重要。但所有活動的必須是順序的,因爲它們顯示在2列:1個偶數,1個奇數 – 2010-05-29 05:23:37