在最近的程式中,有乙個字段表示排序,1~n的。但卻不能是自增的型別,因為使用者可以交換這個排序的先後的。
如果已經記錄的order是:1,2,3,4,5,6
如果刪了1,3,4的話,餘下的記錄變成了2,5,6,這不太符合要求,我希望記錄始終從1開始,並且中間不能間斷,即便你刪了134,剩下記錄的order還要是1,2,3
起初做到儲存過程中,當刪除的時候對其重新排序,後來一想,觸發器不是更好嗎?
於是就有了:
create trigger [reorderafterdel]
on [dbo].[categories]
after delete
as begin
-- set nocount on added to prevent extra result sets from
-- interfering with select statements.
set nocount on;
declare @left int;
declare @i int;
select categories,orders into #categoriestemp from [dbo].[categories];
select @left=count(*) from #categoriestemp;
set @i=1;
while(@left>0)
begin
declare @minorder int;
select @minorder=min(orders) from #categoriestemp;
if(@minorder>@i)
begin
update [dbo].[categories] set orders=@i where orders=@minorder;
enddelete from #categoriestemp where orders=@minorder;
set @i=@i+1;
set @left=@left-1;
enddrop table #categoriestemp;
end
寫的第乙個Shader
第乙個茶壺是可以運動的紋理,用時間的正弦值和余弦值加在紋理座標上產生偏移實現的,可以考慮用來實現水面的各種效果 第二個茶壺是顏色和紋理的混合,多層紋理的混合應該也是同樣的道理,就是把顏色值相乘就可以了 anipass float4x4 matviewprojection float fsintime...
python寫第乙個網頁
1 安裝django見別的部落格 2 執行開發伺服器 在命令提示符裡進入目錄mytest cd mytest 注 我的放在e盤根目錄下 輸入執行開發命令 python manage.py runserver 輸出結果 e mysite python manage.py runserver perfo...
用Ruby寫第乙個程式
安裝了個ruby193,寫了第乙個ruby程式,來記錄下自己學習點滴。首先在ruby的新建個資料夾sample,再新新增個檔案,名字helloworld.rb 內容就是 puts hello,world 當然也可以先宣告變數,如後再用puts語句 a hello,world puts a當然也可以先...