利用儲存過程來消除資料庫中冗餘的資料
create procedure sp_mytest as
declare @pro varchar(50)
declare @mm int
declare wu cursor for select distinct product from mytest
open wu
fetch next from wu into @pro
while @@fetch_status=0
begin
select @mm=sum([cost]) from mytest where [product]=@pro
delete from mytest where [product]=@pro
insert into mytest ([product],[cost]) values(@pro,@mm)
fetch next from wu into @pro
endclose wu
deallocate wu
go我們可以使用作業進行相應的資料的更新
儲存過程中游標的使用
例如 乙個公司,按照如下規則計算加薪金額 1.公司中除了總裁 president 外,所有人都會至少增加p min的薪水 2.任何獎金 bonus 高於 600的員工都會另增加4 3.員工的佣金 commission 越高,增加越少。佣金 commission 少於 2000的另增加3 佣金 com...
儲存過程中帶游標
create procedure updatetimeproperty surroundingrock nvarchar 200 ifclassname nvarchar 200 prop startstation nvarchar 200 prop endstatoin nvarchar 200 ...
儲存過程中的游標cursor
儲存過程裡的游標,其實就是結果集,然後想操作結果集中的資料,一行行讀取游標即可 首先要宣告乙個游標 delimiter create procedure changename begin declare stopflag int default 0 declare myname varchar 20...