main:
begin
declare done int default 0;
declare tid varchar(50);
declare cur cursor for select linkid from tmp_userservice_pool;
#parse order content to get every parameter
declare continue handler for not found set done=1;
#set autocommit=1;
delete from tmp_userservice_pool;
insert into tmp_userservice_pool select * from tb_userservice_pool where status=0 limit 100;
update tmp_userservice_pool set status=2;
update tb_userservice_pool set status=2 where linkid in (select linkid from tmp_userservice_pool);
open cur;
-- 開啟游標
-- 迴圈所有的行
repeat
fetch cur into tid;
if(!done) then
call pcd_userservice_mvhisone(tid);
end if;
until done
end repeat;
#commit;
close cur;
delete from tb_userservice_pool where linkid in (select linkid from tmp_userservice_pool);
end;
我們需要注意以下幾點
1,使用declare宣告變數時,要注意用變數來儲存表字段時,二者的字元編碼要一致。
2,mysql的字元合併不能使用「+」,而要使用concat函式。
3,使用游標時,每個游標要使用不同declare continue handler for not found set done=1;來控制游標的結束。
上面的這句**的意思就是說,當沒有返回資料時,程式繼續執行,並把done設定為1.控制游標的結束
還有出現在select xx into *** from tablename的時候發生的,這個時候如果xx是null就會有問題.其實也可以這樣解決
select isnull(***x,0) into aaaa from tablename
這樣如果遇到null就為0了..
執行儲存過程需要注意的地方
對於儲存過程的執行來說不能使用以下方法 declare n int declare a int declare b int set n 1 while n 100000 begin set a ceiling rand 4 set b ceiling rand 6 exec dbo bl lead ...
OKR使用過程,需要注意的地方
okr是目標與關鍵成果法,是一套明確和跟蹤目標及其完成情況的管理工具和方法。okr有兩個基本的組成部分 目標和關鍵結果。目標是指設定乙個定性的時間內目標,通常是乙個季度。目標描述應該說明目標為何重要 他是如何同公司 部門目標關聯的,有哪些具體依賴 以及它所支撐或者依賴的內部客戶有哪些。關鍵結果是由量...
使用Calendar需要注意clear
date是前台傳的值,格式為2014 01 01的形式 如下的 是去date日期當月的最大天數日期 int month integer.parseint date.substring 5,7 取天數 int year integer.parseint date.substring 0,4 取年份 d...