oracle存储过程改成mysql格式

oracle过程源码CREATEPROCEDURESP_GET_NE_ID(V_I_DOMAIN_IDINT,V_I_SPECINT,V_I_FACINT,V_V_NE_... oracle过程源码
CREATE PROCEDURE SP_GET_NE_ID (V_I_DOMAIN_ID INT, V_I_SPEC INT, V_I_FAC INT, V_V_NE_ID OUT VARCHAR)

AS
V_I_NE_ID INT;

BEGIN
--1.设置默认值-1

V_V_NE_ID := '-1';
--2.更新ID,自增1

UPDATE T_NE_ID_GEN SET I_NE_ID = I_NE_ID + 1
WHERE I_DOMAIN_ID = V_I_DOMAIN_ID
AND I_SPEC = V_I_SPEC
AND I_FAC = V_I_FAC;
--3.获取ID,并提交

SELECT I_NE_ID INTO V_I_NE_ID FROM T_NE_ID_GEN
WHERE I_DOMAIN_ID = V_I_DOMAIN_ID
AND I_SPEC = V_I_SPEC
AND I_FAC = V_I_FAC;
IF V_I_NE_ID <> 0 THEN
V_V_NE_ID := LPAD(V_I_DOMAIN_ID,7,'0') || LPAD(V_I_SPEC,2,'0') || LPAD(V_I_FAC,3,'0') || LPAD(V_I_NE_ID,8,'0');
END IF;
COMMIT; -- 提交
--4.异常回滚

exception WHEN others THEN
ROLLBACK;
END;

我改的mysql:
DROP PROCEDURE IF EXISTS `ACCEPTANCE`.`SP_GET_NE_ID`;
CREATE PROCEDURE `SP_GET_NE_ID`(in V_I_DOMAIN_ID INT, in V_I_SPEC INT, in V_I_FAC INT, OUT V_V_NE_ID VARCHAR)

BEGIN
DECLARE V_I_NE_ID INT;
set V_V_NE_ID = -1;
UPDATE T_NE_ID_GEN SET I_NE_ID = I_NE_ID + 1
WHERE I_DOMAIN_ID = V_I_DOMAIN_ID
AND I_SPEC = V_I_SPEC
AND I_FAC = V_I_FAC;
SELECT I_NE_ID INTO V_I_NE_ID FROM T_NE_ID_GEN
WHERE I_DOMAIN_ID = V_I_DOMAIN_ID
AND I_SPEC = V_I_SPEC
AND I_FAC = V_I_FAC;
IF V_I_NE_ID <> 0 THEN
set V_V_NE_ID = LPAD(V_I_DOMAIN_ID,7,'0') || LPAD(V_I_SPEC,2,'0') || LPAD(V_I_FAC,3,'0') || LPAD(V_I_NE_ID,8,'0');
END IF;
COMMIT;
exception WHEN others THEN
ROLLBACK;
END;

小白一枚,对存储过程实在不了解,完全是套用的,有很多语法错误,望大神指点,有详细说明讲解更好!谢谢!
最主要还是oracle异常回滚这块,在mysql似乎没有回滚机制,我也不清楚该如何添加异常处理条件和操作
展开
 我来答
千锋教育
2016-04-14 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
建议使用PowerDesigner将ORACLE转换为物理模型,再转换为逻辑模型,然后通过这个逻辑模型重新选择DBMS(MYSQL),将其转换为MYSQL的物理逻辑模型,在物理逻辑模型上更新触发器,过程等对象,然后生成MYSQL的物理文件,或直接导入到MYSQL数据库实例中。
追问
抱歉啊,后面老大直接自己重新写了一个过程,我也就忘了这事了,谢谢啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式