MYSQL 事务的问题
SQL code:
create PROCEDURE aa(SqlCMD1 varchar(8000),SqlCMD2 varchar(8000),SqlCMD3 varchar(8000))
begin
declare exit handler for sqlexception rollback;
start TRANSACTION;
EXECUTE SqlCMD1;
EXECUTE SqlCMD2;
EXECUTE SqlCMD3;
COMMIT;
end
#drop PROCEDURE aa
call aa('insert into a(vName) values('B')','insert into a(vName) values('B')','insert into a(vName) values('B')')
现在有3个SQL命令,要用事务来处理其运行情况。我创建存储过程如上,三条SQL命令当做参数传入,然后事务开始,再依次运行3条语句,再提交事务,如果发生错误,回滚事务。
测试的时候报错。。
要实现这这样的操作,应该怎么样写这个存储过程??
沙发自己坐,在线等。
EXECUTE SqlCMD1; mysql不支持这样执行动态sql的。
要用这种语法
PREPARE stmt_name from preparable_stmt;
EXECUTE stmt_name [USING @var_name [, @var_name] ...];
{DEALLOCATE | DROP} PREPARE stmt_name;
1. MYSQL不支持这种 EXECUTE SqlCMD1; 按楼上的更改为 prepare / execute
SQL code:
create PROCEDURE aa(SqlCMD1 varchar(8000),SqlCMD2 varchar(8000),SqlCMD3 varchar(8000))
begin
declare exit handler for sqlexception rollback;
start TRANSACTION;
PREPARE stmt_name from SqlCMD1;
EXECUTE stmt_name;
DEALLOCATE stmt_n
相关问答:
一个行业网站,要实现的功能要求为:
一搜索表单可选搜索 产品/资讯/商家,搜索时希望先搜标题后全文,当前的数据量估计3万多,定位期望在百万级也可用。
数据类型为innodb,当前的方法是对关键词进行 ......
Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢!
请各位给以提示。
你这个范围太广了,我说2点重要的吧
1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......
这个视频讲的很详细, 对新手非常有用, 基本上一看就懂
由于太大了(50m, 我只能上传20m), 我上传不了, 只好贴出下载地址
下载地址: http://ftel1.3800hk.com/0807/080720djxnzj.rar
好东西,下个看看
......
我的Mysql 使用的时候 用dos建立的数据表 在dos中能显示出中文
但是在 其他的可视页面 和网页中都显示乱码 如何解决?
在mysql控制台:show variables like 'char%';贴结果出来看看。
mysql命令行模式下: ......