gpt4 book ai didi

mysql - 在另一个过程中使用事务调用两个不同的过程

转载 作者:行者123 更新时间:2023-11-30 22:48:55 27 4
gpt4 key购买 nike

这是程序的流程

sp_test(in_var1, in_var2, in_var3)
begin
if(a record exists) then
call sp_test_update(in_var1, in_var2, in_var3)
else
call sp_test_insert(in_var1, in_var2, in_var3)
end

sp_test_insert(in_var1, in_var2, in_var3)
begin
declare exit handler for sqlexception
begin
rollback
end
start transaction
/*
code block for insert
*/
commit
end

sp_test_update(in_var1, in_var2, in_var3)
begin
declare exit handler for sqlexception
begin
rollback
end
start transaction
/*
code block for update
*/
commit
end

已经尝试制作一个单个过程,但应用程序有一个不同的过程来处理插入和更新,导致存储数据出现问题。

将这种方法放在程序中..

..糟糕的实现?还是练习?还是编码
..对数据库服务器的性能产生巨大影响?
..在被用户请求淹没时造成瓶颈

最佳答案

虽然这会起作用,但这不是必需的。 MySQL 已经有 2 种方法来处理这个用例:

替换 http://dev.mysql.com/doc/refman/5.0/en/replace.html

和重复 key 更新http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

因此阅读它们,选择要实现的并用它编写 1 个过程。

关于mysql - 在另一个过程中使用事务调用两个不同的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28735992/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com