今天看视频学习jdbc相关的知识,因为视频用的是oracle,而我用的是mysql,一步步跟下来,在存储过程这里费了很多心思,还好刚刚终于成功了
这里把完成的存储过程贴上: delimiter ;; CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(IN `v_a` int,`v_b` int,OUT `v_ret` int,INOUT `v_temp` int) BEGIN if(v_a > v_b)then set v_ret = v_a; else set v_ret = v_b; end if; set v_temp = v_temp + 1; END;; delimiter ;
这里写一些出现过得问题,数据库学的是真的不好:
1.delimiter是用来更改语句结束符号的,防止过程中有;导致的错误
2.最初用mysql的命令框打代码,更改很不方便,东改西改还是错,我就拿Navicat for MySQL先建一个存储过程,再理解其中的要点
CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(IN `v_a` int,`v_b` int,OUT `v_ret` int,INOUT `v_temp` int)
这段就是从上面v来的,意思是创建一个NewProc的存储过程并创建了四个字段。
DEFINER = CURRENT_USER不太理解,百度了,大致使指定用户的意思
3.变量赋值没有拿 set 赋,刚开始百度了一下用的是@,不行,不知道哪里错了,就回来用set过了,@的原因还得以后看。