我有一个存储过程,可以将数据从一个数据库插入另一个数据库。存储过程在mysql中工作正常,但是当我通过hibernate调用时,它无效。
DELIMITER $$
CREATE PROCEDURE `INSERTDATA`(stdID BIGINT)
BEGIN
DECLARE exit handler for sqlexception
BEGIN
-- ERROR
ROLLBACK;
END;
DECLARE exit handler for sqlwarning
BEGIN
-- WARNING
ROLLBACK;
END;
START TRANSACTION;
INSERT INTO `db2`.`std`
SELECT * FROM stdDetails WHERE studID=stdID;
COMMIT;
END
//如果我这样做,工作正常
call INSERTDATA(1);
但是
Query procQry = session.createSQLQuery( "CALL ARCHIVEEVENTDATA(?)");
procQry.setParameter(0,examEventID);
procQry.executeUpdate();
transaction.commit();
不适合我:(
注意:两个数据库都在同一台服务器上