Error

C++博客 首页 新随笔 联系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
mysql居然只能在存储过程中使用declare定义变量,DECLARE CONTINUE HANDLER FOR SQLEXCEPTION也只能在存储过程中用?
begin TRANSACTION
SET XACT_ABORT on  --sql异常事物自动回归
--mysql中等价的语句: declare continue handler for sqlexception begin rollback; end;
--0 金币
IF(1 = @ItemId)
BEGIN
update QPTreasureDB.dbo.GameScoreInfo SET Score = Score + @ItemCount WHERE UserID = @UserId;
END
--test
INSERT INTO QPAccountsDB.dbo.AccountsInfo(UserId) VALUES(1);
COMMIT TRANSACTION 
CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_Test`()
BEGIN
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
SELECT 'SQLEXCEPTION handler was activated' AS msg;
BEGIN -- inner block
    DECLARE CONTINUE HANDLER FOR SQLSTATE '42S02'
SELECT 'SQLSTATE handler was activated' AS msg;
END;
  
select * from test_table;
END
posted on 2015-01-12 10:05 Enic 阅读(523) 评论(0)  编辑 收藏 引用 所属分类: 从零开始写棋牌游戏平台

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理