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
相关问答:
如题,这三个在win7下使用会有什么兼容性问题吗?
由于我最近在使用win7,就懒得进xp了!
自己用windows 2008有一年多了,没出现任何问题。
win7测试版也用过,不会有什么问题的,放心。
当然你最 ......
Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢!
请各位给以提示。
你这个范围太广了,我说2点重要的吧
1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......
大家好:
我是搞C的, 现在想用C 连接MYSQL,但是怎么也连接不了,我的代码如下:
#include <stdio.h>
#include "C:\Program Files\MySQL\MySQL Server 5.0\include\mysql.h"
......
我的Mysql 使用的时候 用dos建立的数据表 在dos中能显示出中文
但是在 其他的可视页面 和网页中都显示乱码 如何解决?
在mysql控制台:show variables like 'char%';贴结果出来看看。
mysql命令行模式下: ......