存储过程 ------ 通过一个字段条件更新另外一个字段

存储过程 ------ 通过一个字段条件更新另外一个字段
同一表的操作,我当时是用来通过推荐人账号,更新推荐人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

猜你喜欢

转载自blog.csdn.net/qq_42841183/article/details/83617266