存储过程总提示错误...

yaoxj2003 2008-11-13 10:17:23
如下,我检查了几遍应该没错啊。总是提示行12有错。
CREATE PROCEDURE `P_INSERT_MENU`()
BEGIN
DECLARE pAUTOIDA INT;
DECLARE pAUTOIDB INT;
DECLARE pUSERID INT;
DECLARE pLAST INT;
SELECT ModeFID INTO pAUTOIDA FROM t_info_systemmode
WHERE ModeCode='WebPage_Shipment_Ship_Cost_Edit_btnAcc'
AND ModeType='Shipment';
IF pAUTOIDA IS NULL then
INSERT INTO t_info_systemmode(ModeCode,ModeName,ModeType)
VALUES('WebPage_Shipment_Ship_Cost_Edit_btnAcc',
'Export Doc Approve','Shipment');
SELECT ModeFID INTO pAUTOIDA FROM t_info_systemmode
WHERE ModeCode='WebPage_Shipment_Ship_Cost_Edit_btnAcc'
AND ModeType='Shipment';
END IF;
DECLARE CURUSER CURSOR
FOR SELECT UserFID FROM t_system_user;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET pLAST=1;
OPEN CURUSER;
REPEAT
FETCH CURUSER INTO pUSERID;
SELECT SystemUserDtl_FID INTO pAUTOIDB FROM t_system_user_dtl WHERE SystemUserID=pUSERID AND SystemModeID=pAUTOIDA;
IF pAUTOIDB IS NULL THEN
INSERT INTO t_system_user_dtl(SystemUserID,SystemModeID,Can_Add,Can_View,Can_Edit,Can_Del)
VALUES(pUSERID,pAUTOIDB,0,0,0,0);
END IF;
UNTIL pLAST=1
END REPEAT;
CLOSE CURUSER;
END

感觉MYSQL超不好用,以前用MSSQL熟得要命。。。在前面加一句DROP PROCEDURE IF EXISTS xxx 也会错。无言!
还有在MYSQL QUERY BROWSER如何像MSSQL里选定来执行多行语句。。。。
...全文
34 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2008-11-13
  • 打赏
  • 举报
回复
DECLARE pAUTOIDA INT;
DECLARE pAUTOIDB INT;
DECLARE pUSERID INT;
DECLARE pLAST INT;
DECLARE CURUSER CURSOR FOR SELECT UserFID FROM t_system_user;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET pLAST=1;
OPEN CURUSER;

SELECT ModeFID INTO pAUTOIDA FROM t_info_systemmode
WHERE ModeCode='WebPage_Shipment_Ship_Cost_Edit_btnAcc'
AND ModeType='Shipment';
IF pAUTOIDA IS NULL then
INSERT INTO t_info_systemmode(ModeCode,ModeName,ModeType)
VALUES('WebPage_Shipment_Ship_Cost_Edit_btnAcc',
'Export Doc Approve','Shipment');
SELECT ModeFID INTO pAUTOIDA FROM t_info_systemmode
WHERE ModeCode='WebPage_Shipment_Ship_Cost_Edit_btnAcc'
AND ModeType='Shipment';
END IF;



REPEAT
FETCH CURUSER INTO pUSERID;
SELECT SystemUserDtl_FID INTO pAUTOIDB FROM t_system_user_dtl WHERE SystemUserID=pUSERID AND SystemModeID=pAUTOIDA;
IF pAUTOIDB IS NULL THEN
INSERT INTO t_system_user_dtl(SystemUserID,SystemModeID,Can_Add,Can_View,Can_Edit,Can_Del)
VALUES(pUSERID,pAUTOIDB,0,0,0,0);
END IF;
UNTIL pLAST=1
END REPEAT;
CLOSE CURUSER;
END$$
懒得去死 2008-11-13
  • 打赏
  • 举报
回复
晕,CSDN的字体编了N次了。
wwwwb 2008-11-13
  • 打赏
  • 举报
回复
DECLARE CURUSER CURSOR 放在前面定义
DECLARE pAUTOIDA INT;
DECLARE pAUTOIDB INT;
DECLARE pUSERID INT;
DECLARE pLAST INT;
DECLARE CURUSER CURSOR
懒得去死 2008-11-13
  • 打赏
  • 举报
回复
感觉MYSQL超不好用!!!


汗!

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧