mysql 自己定义存储过程和触发器
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; 这样就搞定了
mysql 自己定义存储过程和触发器的更多相关文章
- MYSQL如何导出存储过程和触发器?
今天遇到.. 类似下面的就可以: mysqldump -u root -p -ntd -R nxsc>nxsc_trigger.sql
- MySQL笔记---视图,存储过程, 触发器的使用入门
大二学数据库的时候,只是隐约听到老师提起过视图啊,存储过程啊,触发器啊什么的,但只是淡淡的记住了名字,后来自己做些小项目,小程序,也没有用上过,都只是简单的建表,关联表之类的,导致我对这些东西的理解只 ...
- MySQL笔记 存储过程 游标 触发器
第二十三章 使用存储过程 MySQL5 中添加了存储过程的支持. 大多数SQL语句都是针对一个或多个表的单条语句.并非所有的操作都怎么简单.经常会有一个完整的操作需要多条才能完成 存储过程简单来说,就 ...
- mysql之视图,存储过程,触发器,事务
视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时 ...
- mysql 视图,事务,存储过程,触发器
一 视图 视图是一个虚拟表(非真实存在),是跑到内存中的表,真实表是硬盘上的表.使用视图我们可以把查询过程中的临时表摘出来,保存下来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sq ...
- MySQL必知必会笔记(六)存储过程 游标 触发器
留印:http://blog.sina.com.cn/s/articlelist_1254871964_5_1.html 第二十三章 使用存储过程 MySQL5 中添加了存储过程的支持. ...
- mysql存储过程和触发器
mysql编程(存储过程和触发器) 存储过程 什么是存储过程 存储过程,带有逻辑的sql语句 存储过程特点 执行效率非常快!存储过程是在数据库的服务器端执行的!!! 移植性很差!不同数据库的存储过程是 ...
- MySQL中的存储过程、函数与触发器
一.对待存储过程和函数的态度 优点: 1.存储过程只在创建时进行编译,sql语句则每次执行都需要编译.能提高数据库执行速度. 2.简单复杂操作结合事物一起封装. 3.复用性高. 4.安全性高,可指定存 ...
- 2020重新出发,MySql基础,MySql视图&索引&存储过程&触发器
@ 目录 视图是什么 视图的优点 1) 定制用户数据,聚焦特定的数据 2) 简化数据操作 3) 提高数据的安全性 4) 共享所需数据 5) 更改数据格式 6) 重用 SQL 语句 MySQL创建视图 ...
随机推荐
- C++内存泄露检測原理
转自:http://hi.baidu.com/jasonlyy/item/9ca0cecf2c8f113a99b4981c 本文针对 linux 下的 C++ 程序的内存泄漏的检測方法及事实上现进行探 ...
- oracle 同样数据删除(仅仅留一条)
DELETE FROM reg_user t1 WHERE user_name='9527008' and rowid > ( SELECT min(rowid) FROM location t ...
- git的0基础使用
1.申请一个git帐号 2.项目开发者将你增加这个项目 3.在终端随意一个目录克隆 该项目地址 git clone 该项目地址 4.进nginx配置 5.更新的时候进入项目目录 git pull
- UIApplication的作用
1.设置app图标右上角的数字2.设置状态栏的属性(样式.是否要显示)3.打开某个链接\发短信\打电话4.keyWindow : 访问程序的主窗口(一个程序只能有一个主窗口)5.windows : 访 ...
- Qt串口通信
1. Qt串口通信类QSerialPort 在Qt5的的更新中,新增了串口通信的相关接口类QSerialPort,这使得在开发者在使用Qt进行UI开发时,可以更加简单有效地实现串口通信的相关功能. 开 ...
- 《第一行代码》学习笔记29-内容提供器Content Provider(2)
1.查询操作: if (cursor != null) { while (cusor.moveToNext()) { String column1 = cursor.getString(cursor. ...
- Merge Sorted Array 合并数组并排序
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...
- IOS 图片模糊处理 ------ 直接代码 复制出去就可用 值得标记
1. UIImage *imag = [UIImage imageNamed:@"img"]; /* --------------------使用 coreImg ------- ...
- arry()数组的理解及api的使用(二)
注意:本文都来自于w3school中文网,如果需要完整版请去--http://www.w3school.com.cn/jsref/jsref_obj_array.asp 1.1 slice() 方法- ...
- hdu 1258 DFS
I - 深搜 基础 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:10000KB 64bi ...