0
我有一個數據庫表跟蹤項目列表,它們在必要時被插入和移除。我發現了一堆行不通的行,我想在插入或刪除一行時做一些處理。在數據庫隊列中重新排序無序的行
目前,我使用的是基本的INSERT語句
insert into this_queue (thing, queNum) VALUES ('thing1', 1)
delete from this_queue where thing = 'thing1'
update this_queue set queNum = queNum - 1 where queNum > 1
這些查詢做工精細delete一個用於從隊列中的單個項目,但是當我刪除不按順序排列的項目,它拋出的一切不正常的。
我一直在試圖找出有爲了排隊號碼的最好辦法,即... 1,2,3,4,5,6,等等......當項目被添加或刪除。
我在想插入或刪除操作後是刪除或添加1個檢查相鄰號碼是存在的,如果不再計數,跟蹤和繼續下去,直到我找到的數量。然後我可以減去這個數字並回到原點。
我爲我使用Python和MSSQL服務器2008R2包括在標籤列表蟒蛇。
這似乎有點凌亂我,所以我希望有人將有一個更優雅的方式。由於
我不知道該功能的或with語句。讓我試試看吧 – Drewdin
WITH函數實際上是CTE'Comman Table Expression'的語法,而row_number()是sql server中的一個排名函數。非常有用的一些非常棘手的操作在SQL Server中。 –
我對CTE並不熟悉,我需要研究它 – Drewdin