mysql存储过程 赋值

本文介绍了一个用于清理数据库中过期资源及其关联记录的存储过程。该过程通过遍历资源表并根据指定条件删除内容、访问记录、详细记录、评论及资源本身,同时还清除了相关的小图标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IN expireDate VARCHAR(20),IN resType INT

 

//-----------------------------------------------------------------------------------

BEGIN
DECLARE a,b,icon_id INT;
DECLARE cur_1 CURSOR FOR SELECT id FROM `tbl_resource` WHERE discriminator="RC_CON"  and robot_type=resType and  add_date<=expireDate;/*robot_type 代替资源类型*/
DECLARE CONTINUE HANDLER FOR NOT FOUND

SET b = 1;
OPEN cur_1;
REPEAT
FETCH cur_1 INTO a;
SELECT smallIcon INTO icon_id  FROM  tbl_resource WHERE id=a;     /*得到缩略图片的id*/

DELETE FROM `tbl_resource` WHERE parent_id=a;                /*删除这个content所含的资源*/
DELETE FROM `tbl_visitrecords` WHERE resource_id=a;        /*删除访问信息*/
DELETE FROM `tbl_detailrecord` WHERE resource_id=a;       /*删城祥细访问信息 */
DELETE FROM `tbl_comment` WHERE resource_id=a;           /*删城相关评论*/
DELETE FROM `tbl_resource` WHERE id=a;                          /*删城自己*/
IF icon_id >0 THEN
 DELETE FROM `tbl_resource` WHERE id=icon_id;       /*删除图标*/
 /*SELECT "删除了"+icon_id;*/
END IF;
UNTIL b = 1
END REPEAT;
CLOSE cur_1;

/*SELECT count(id) FROM `tbl_resource` WHERE discriminator="RC_CON"  and robot_type=0 and  add_date<=expireDate;*/
END

 

//相关语法

 

if Null is Null then
SELECT 23;
else
SELECT 45; 
end IF;

 

//赋值

select @cnt := count(1) from tablenmae

select count(1) into @cnt from tablename

是等价的 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值