触发器和存储过程的使用
DROP TRIGGER IF EXISTS `user_master`;
CREATE TRIGGER `user_master` BEFORE UPDATE ON `sys_user`
FOR EACH ROW
BEGIN
DECLARE _user_type CHAR(20);
DECLARE _type_infos_id char(20);
SET _user_type = '1';
IF new.ADVER_ID = NULL THEN
SET _user_type = '0';
END IF;
CALL proc1(_user_type);
set _type_infos_id = proc2();
INSERT INTO user_master_info (USERID,TYPE_ID,CREATE_TIME) VALUES (new.USER_ID,_type_infos_id,NOW());
END;
create procedure countpro(out a_out int,in b_date date, in unit_name varchar(45) character set gbk)
DROP PROCEDURE IF EXISTS `proc1`;
CREATE PROCEDURE `proc1`(IN type_m CHAR)
BEGIN
DROP VIEW IF EXISTS view_master_type;
SET @sqlstr = 'CREATE VIEW view_master_type as';
SET @sqlstr = CONCAT(@sqlstr , 'SELECT * FROM master_type_info WHERE TYPE_MODE = ', type_m);
PREPARE stmt FROM @sqlstr;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END;
DROP PROCEDURE IF EXISTS `proc2`;
CREATE PROCEDURE `proc2`(OUT _type_ids CHAR)
BEGIN
DECLARE _b char(20);
DECLARE _type_infos CHAR(20);
DECLARE _found boolean DEFAULT true;
DECLARE _num CURSOR for SELECT TYPE_ID FROM view_master_type;
DECLARE CONTINUE handler for NOT FOUND set _found = false;
- OPEN _num;
FETCH _num into _b;
while _found do
set _type_infos = CONCAT(_b,',',_type_infos);
FETCH _num into _b;
END WHILE;
CLOSE _num;
set _type_ids = _type_infos;
END;
转载于:https://my.oschina.net/xForMe/blog/467877
触发器和存储过程的使用相关推荐
- 触发器与存储过程笔记
触发器:在数据库记录发生新增.修改.删除前后触发 如何:合同中,金额=单价*数量 利用触发器实现,先拿到提交数据中的单价和数量,获取数据库表中的金额字段,将数量*单价的结果刚入到金额字段,new\ol ...
- Oracle 触发器调用存储过程|转||待研究|
Oracle触发器调用存储过程资料收集整理 触发器:Trigger 存储过程:Stored Procedure // ******************** 收集1 **************** ...
- mysql触发器 存储过程_mysql触发器和存储过程
Mysql触发器和存储过程 1 / 9Mysql触发器 1.语法:命名规则 CREATE TRIGGER { BEFORE | AFTER } { INSERT | UPDATE | DELETE } ...
- Oracle12c与Oracle11g采用触发器与存储过程实现同步更新(代码+图解)
一.保证两台笔记本网络互通 关于连接,详情见之前写的:WIFI网络,两台笔记本互联Oracle,一台是11g,一台是12c 现在测试的ip地址: A: 10.65.252.84 B: 10.82.15 ...
- 关于mysql触发器和存储过程的理解
内容源自:一篇很棒的 MySQL 触发器学习教程 一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊 ...
- oracle删除所有触发器的命令,Oracle删除当前用户的所有对象(表、视图、触发器、存储过程、函数)...
Oracle删除当前用户的所有对象(表.视图.触发器.存储过程.函数) 1. DECLARE TYPE name_list IS TABLE OF VARCHAR2(40); TYPE type_li ...
- 序列、触发器和存储过程三者之间有啥关系
序列.触发器和存储过程三者之间有啥关系? 好久没用oracle数据库了,今天复习了下oracle的序列.触发器和存储过程,之前对触发器和存储过程的概念有点模糊,今天来理理复习心得:存储过程相当于打包好 ...
- MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
浏览目录: 1.视图 2.触发器 3.存储过程 4.函数 5.事物 6.数据库锁 7.数据库备份 1.视图 视图:是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据 视 ...
- Oracle 存储过程的创建,及触发器调用存储过程
一.创建存储过程 1.存储过程写法 create or replace procedure HVM_BYQ_TJ--变压器统计信息--->入库 (id in number) as beginfo ...
- mysql查询触发器_mysql查看所有触发器以及存储过程等操作集合【转】
1. mysql查询所有表: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND TAB ...
最新文章
- 普通话计算机考试相关信息,普通话考试常见问题有哪些
- 解决Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz国内下载速度缓慢的问题
- JAVA EXCEL API(jxl)简介
- 第01课:中文自然语言处理的完整机器处理流程
- 我们用5分钟写了一个跨多端项目
- linux中php配置
- 《JavaScript高级程序设计》chapter 1: javascript 简介
- 天池 在线编程 牛郎织女(广度优先搜索)
- (转载)lepaiwed网站代码【全】
- 21 SD配置-主数据-客户账户组分配编号范围
- 阴阳师服务器维护更新,阴阳师服务器3月10日维护更新了什么 阴阳师服务器3月10日维护更新一览...
- DevExpress 小结
- 全自动降噪插件-Acon Digital Extract:Dialogue 1.1.2 WiN-MAC
- 解决:RuntimeError: Tensor for ‘out‘ is on CPU, Tensor for argument #1 ‘self‘ is on CPU, but expected t
- DNS域名服务器的搭建
- 大脑信息编码_编码人大脑的5大小吃
- six MySQL 主主
- 数组可以存放实数吗?
- 微信商家收款码和个人收款码区别,你知道吗?
- am335x开发板的疑问以及解答