儲存過程 ------ 通過一個欄位條件更新另外一個欄位
阿新 • • 發佈:2018-12-07
儲存過程 ------ 通過一個欄位條件更新另外一個欄位
同一表的操作,我當時是用來通過推薦人賬號,更新推薦人id欄位
BEGIN DECLARE t_uid INT(11) DEFAULT 0; DECLARE t_username VARCHAR(255) DEFAULT 0; DECLARE t_tjuser VARCHAR(255) DEFAULT 0; DECLARE t_newid INT(5) DEFAULT 0; DECLARE t_issm INT(5) DEFAULT 0; DECLARE t_nowtime VARCHAR(20) DEFAULT unix_timestamp(now()); DECLARE t_zskusers FLOAT(10,2) DEFAULT 0; DECLARE t_zzkusers FLOAT(10,2) DEFAULT 0; DECLARE t_yprice_two FLOAT(10,3) DEFAULT 0; DECLARE t_dtprice FLOAT(10,3) DEFAULT 0; DECLARE t_etprice FLOAT(10,3) DEFAULT 0; DECLARE t_walleight FLOAT(10,3) DEFAULT 0; DECLARE t_fhjs FLOAT(10,3) DEFAULT 0; DECLARE _done INT DEFAULT 0; DECLARE rs CURSOR FOR SELECT id,username,tjuser FROM fa_user WHERE id>0 and tjuser>0 ; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET _done =1; -- 開啟遊標 OPEN rs; -- 重複 REPEAT -- 迴圈遍歷遊標 FETCH rs INTO t_uid,t_username,t_tjuser; IF NOT _done THEN SELECT id into t_newid from fa_user where username=t_tjuser; UPDATE `fa_user` SET tjid=t_newid WHERE `id` = t_uid; SET _done=0; END IF; UNTIL _done END REPEAT; close rs; END