【发布时间】:2015-02-26 06:36:41
【问题描述】:
这是程序的流程
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
已经尝试过创建一个单个过程,但是应用程序有一个不同的过程来处理插入和更新,从而导致存储数据出现问题。
请问这种做法在一个Procedure..
..一个糟糕的实施?还是练习?还是编码?
..对数据库服务器的性能产生巨大影响?
..在被用户请求淹没时造成瓶颈?
【问题讨论】:
标签: mysql database stored-procedures transactions procedure