學習寫第乙個SQL server觸發器

2022-02-23 01:34:31 字數 1066 閱讀 4298

在最近的程式中,有乙個字段表示排序,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當然也可以先...