--宣告rs為局域變數,否則第二次執行會報rs已定義的錯誤
declare @s varchar(max);
declare rs cursor local for select orgcode,exchangenum,salenum,localproductnum,otherproductnum,subsidynum,[year],[month] from sdds
set @s='1';
open rs
declare @orgcode float,@exchangenum float,@salenum float,@localproductnum float,@otherproductnum float,@subsidynum float,@year float,@month float
fetch next from rs into @orgcode,@exchangenum,@salenum,@localproductnum,@otherproductnum,@subsidynum,@year,@month
while @@fetch_status = 0
begin
set @s='insert into t_subsidy(orgcode,exchangenum,salenum,localproductnum,otherproductnum,subsidynum,year,month)values('+cast(@orgcode as nvarchar)+','+cast(@exchangenum as varchar)+','+cast(@salenum as varchar)+','+cast(@localproductnum as varchar)+','+cast(@otherproductnum as varchar)+','+cast(@subsidynum as varchar)+','+cast(@year as varchar)+','+cast(@month as varchar)+')';
print @s
fetch next from rs into @orgcode,@exchangenum,@salenum,@localproductnum,@otherproductnum,@subsidynum,@year,@month
endclose rs
go
觸發器和游標
1 觸發器 觸發時自動生成兩個表inserted和deleted 定義 類似於c 中的事件,是一種特殊的引數不用手動呼叫 語法 create trigger 觸發器名 on設定觸發器的表 after for 或 instead of 查詢語句型別 insert,delete,updata asbeg...
觸發器和游標
1 觸發器 觸發時自動生成兩個表inserted和deleted 定義 類似於c 中的事件,是一種特殊的引數不用手動呼叫 語法 create trigger 觸發器名 on設定觸發器的表 after for 或 instead of 查詢語句型別 insert,delete,updata asbeg...
游標和觸發器
游標的概念 游標實際上是一種能夠從包括多條資料記錄的結果集中每次提取的機制 主要意義就是遍歷結果集 sql的游標是一種臨時的資料庫物件,既可以用來存放在資料庫表中的資料行副本,也可以指向儲存在資料庫中資料行的指標。游標提供了在逐行的基礎上操作表中資料的方法 游標常見的用途是儲存查詢結果,以便以後使用...