declare @warrantFlag int
declare @msg varchar(10)
declare @sumOriginalExerciseRate float
declare @adjustedExerciseRate float
set @msg = 'normal'
--temptable
CREATE TABLE #tempTable1(
tWarrantFlag1 int ,
tSumOriginalExerciseRate float,
tAdjustedExerciseRatefloat float
) ON [PRIMARY]
DECLARE CURSOR1 CURSOR FOR
select WarrantFlag from dbo.WarrantProfile group by WarrantFlag
OPEN CURSOR1 --開啟CURSOR
FETCH NEXT FROM CURSOR1 INTO @warrantFlag
--
WHILE @@FETCH_STATUS = 0 --0 陳述式順利執行。-1 陳述式失敗,或資料列超出結果集。-2 擷取的資料列已遺漏。
BEGIN
--do something
select @sumOriginalExerciseRate = SUM(OriginalExerciseRate) from WarrantProfile where WarrantFlag = @warrantFlag
select @adjustedExerciseRate = SUM(AdjustedExerciseRate) from WarrantProfile where WarrantFlag = @warrantFlag
insert into #tempTable1(tWarrantFlag1,tSumOriginalExerciseRate,tAdjustedExerciseRatefloat)
values(@warrantFlag,@sumOriginalExerciseRate,@adjustedExerciseRate)
if @@ERROR >0 --若有錯誤產生
BEGIN
SELECT @msg = 'error'
END
FETCH NEXT FROM CURSOR1 INTO @warrantFlag --將CURSOR中的下一筆資料 傳給宣告的變數
END
--
CLOSE CURSOR1 --關閉CURSOR
DEALLOCATE CURSOR1
select * from #tempTable1
select @msg
drop table #tempTable1
declare @msg varchar(10)
declare @sumOriginalExerciseRate float
declare @adjustedExerciseRate float
set @msg = 'normal'
--temptable
CREATE TABLE #tempTable1(
tWarrantFlag1 int ,
tSumOriginalExerciseRate float,
tAdjustedExerciseRatefloat float
) ON [PRIMARY]
DECLARE CURSOR1 CURSOR FOR
select WarrantFlag from dbo.WarrantProfile group by WarrantFlag
OPEN CURSOR1 --開啟CURSOR
FETCH NEXT FROM CURSOR1 INTO @warrantFlag
--
WHILE @@FETCH_STATUS = 0 --0 陳述式順利執行。-1 陳述式失敗,或資料列超出結果集。-2 擷取的資料列已遺漏。
BEGIN
--do something
select @sumOriginalExerciseRate = SUM(OriginalExerciseRate) from WarrantProfile where WarrantFlag = @warrantFlag
select @adjustedExerciseRate = SUM(AdjustedExerciseRate) from WarrantProfile where WarrantFlag = @warrantFlag
insert into #tempTable1(tWarrantFlag1,tSumOriginalExerciseRate,tAdjustedExerciseRatefloat)
values(@warrantFlag,@sumOriginalExerciseRate,@adjustedExerciseRate)
if @@ERROR >0 --若有錯誤產生
BEGIN
SELECT @msg = 'error'
END
FETCH NEXT FROM CURSOR1 INTO @warrantFlag --將CURSOR中的下一筆資料 傳給宣告的變數
END
--
CLOSE CURSOR1 --關閉CURSOR
DEALLOCATE CURSOR1
select * from #tempTable1
select @msg
drop table #tempTable1