1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > mysql自定义存储过程和触发器

mysql自定义存储过程和触发器

时间:2018-11-13 11:28:58

相关推荐

mysql自定义存储过程和触发器

数据库|mysql教程

mysql,自定义,存储,过程,触发器,欢迎,进入,Linu

数据库-mysql教程

后台系统源码,ubuntu怎么拔号,python爬虫框架组件,libxml php,西东网seolzw

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 mysql 自定义存储过程和触发器 –存储过程示范 DROP PROCEDURE IF EXISTS PRO_TEST; CREATE PROCEDURE PRO_TEST(IN NUM_IN INT,OUT NUM_OUT INT,INOUT NUM_INOUT) BEGIN //DO ANYTHING YOU WANT EN

php mysql 注册源码,ubuntu 重命名端口,爬虫怎么提前选课,kingcms < php,seo pa dalzw

vc 图片拖动效果 源码爱好者,vscode颜色主题自定义,ubuntu句柄泄漏,tomcat访问项目url,豆瓣爬虫 cookie,php后台结构,百中搜seo怎么样,手机网站系统下载lzw

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

mysql 自定义存储过程和触发器

–存储过程示范

DROP PROCEDURE IF EXISTS PRO_TEST;

CREATE PROCEDURE PRO_TEST(IN NUM_IN INT,OUT NUM_OUT INT,INOUT NUM_INOUT)

BEGIN

//DO ANYTHING YOU WANT

END;

参数解释:

in : 就是输入参数,输入参数是会被传入到存储过程作为参数使用,改变它的值将不会改变其原本值,相当于是值传递

out: 此为输出参数,在存储过程中为给其值时,哪怕之前传入值,其值也只是NULL,相当于是在存储过程中新建一个值并付给out参数并输出

inout:此为输入输出参数,可以理解为前两者之和,最为简单的就是理解为按照对象传递

在命令行中如何调用:

SET @NM_IN=1,@NM_OUT=2,@NM_INOUT=3;

call PROC_TEST(@NM_IN,@NM_OUT,@NM_INOUT);

在java中如何调用:

想办法得到connection,在hibernate中为getSession。connection;

使用Java.Sql.CallableStatemet call=connection。prepareStatement(”call PROC_TEST(1,2,3)”);

call.executeQuery将返回ResultSet对象,call.executeUpdate将会返回受影响的行数。

–触发器示例

触发器按照触发类型可分为:INSERT,UPDATE,DELETE触发器,

按照触发时间可分为:BEFORE,AFTER,

按照内容新旧可分为:OLD,NEW,其中删除操作只有OLD,新增操作只有NEW,修改操作两者皆有

eg:没修改user表一次,就往user_back表插入修改之前和修改之后的数据:

CREATE TRIGGER TRI_UPGRADE_USER BEFORE UPDATE ON USER FOR EACH ROW

BEGIN

INSERT INTO USER_BACK(USERNAME,USERPWD) VALUES(OLD.USERNAME,OLD.USERPWD);

INSERT INTO USER_BACK(USERNAME,USERPWD) VALUES(NEW.USERNAME,NEW.USERPWD);

END;

这样就搞定了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。