写一个Mysql存储过程

有两个表,第一个表的数据要复制到第二个表,复制的时候要判断是否遇到错误,遇到错误就回滚,如果复制成功,就删除第一个表的数据,如果删除出错,就回滚,请问怎么写~... 有两个表,第一个表的数据要复制到第二个表,复制的时候要判断是否遇到错误,遇到错误就回滚,如果复制成功,就删除第一个表的数据,如果删除出错,就回滚,请问怎么写~ 展开
 我来答
晴天dandelion
2018-04-21 · TA获得超过407个赞
知道小有建树答主
回答量:306
采纳率:78%
帮助的人:148万
展开全部
CREATE PROCEDURE `xxxx`( )
BEGIN
#设置事务
DECLARE t_error INTEGER DEFAULT 0;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
#开启事务
START TRANSACTION;
#插入数据
INSERT INTO 表2(字段21,字段22,字段23)
SELECT 字段11,字段12,字段13 FROM 表1 where xxxx ;
#删除数据
delete 表1 where xxx;
#以上两步操作出现任何失误都将回滚
IF t_error = 1 THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
end;
lmonkey
2021-05-31 · 教育领域创作者
个人认证用户
lmonkey
采纳数:69 获赞数:176

向TA提问 私信TA
展开全部

MySQL教程4 MySQL8运算符、函数、存储过程及新增数据类型 17.之创建带有IN和OUT参数的存储过程 学习猿地

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式