我自己修改成以下的语句,就可以通过了:CREATE PROCEDURE del_user(userid varchar(10),username varchar(40),out a int)begindeclare exist int; select count(*) into exist from e_user where ur_user_id=userid; if exist=0 then begin set a=2; end; else begin
delete from e_user where ur_user_id=userid; delete from e_user_fun where uf_user_id=userid; insert into e_tran_log values(getdate(),'SYS_USER and SYS_USER_FUN',username,'Delete','Delete SYS User :'+userid); set a=1; end; end if; end但是还有一个问题,当我插入一条记录到一个表e_tran_log中,表的第一列是 一个自动生成的序列好,这里'insert into '语句我该怎么写呢?另外,mysql 有事务处理功能吗?就是说它可以 执行 commit transaction/rollback transaction 这样的语句吗?如果可以怎么写?谢谢!
select count(*) into exist from e_user where ur_user_id=userid;
if exist=0 then
begin
set a=2;
end;
else
begin
delete from e_user where ur_user_id=userid;
delete from e_user_fun where uf_user_id=userid;
insert into e_tran_log values(getdate(),'SYS_USER and SYS_USER_FUN',username,'Delete','Delete SYS User :'+userid); set a=1; end;
end if;
end但是还有一个问题,当我插入一条记录到一个表e_tran_log中,表的第一列是 一个自动生成的序列好,这里'insert into '语句我该怎么写呢?另外,mysql 有事务处理功能吗?就是说它可以 执行 commit transaction/rollback transaction 这样的语句吗?如果可以怎么写?谢谢!