Mysql 存储程序
#1存储过程
create procedure greeting()
BEGIN
# 77 = 16 FOR username + 60 for hostname + 1 for '@'
DECLARE user CHAR(77) CHARACTER SET utf8;
SET user = (SELECT CURRENT_USER());
IF INSTER(user, '@') > 0 THEN
SET user = SUBSTRING_INDEX(user, '@',1);
END IF;
IF user = '' THEN
SET = 'earthling';
END IF;
SELECT CONCAT('Greetings,', user, '!') AS greetig;
END;
#时间存储函数
delimiter $$
CREATE PROCEDURE show_time3()
BEGIN
SELECT 'Local time is :', CURRENT_TIMESTAMP;
SELECT 'UTC time is :' , UTC_TIMESTAMP;
END $$
DELIMITER ;
delimiter EOF
CREATE PROCEDURE show_time3()
SELECT 'Local time is:', CURRENT_TIMESTAMP;
SELECT 'UTC time is:', UTC_TIMESTAMP;
END EOF
DELIMITER ;
#2存储函数
DELIMITER $
CREATE FUNCTION show_id_ord(id INT)
RETURNS INT
READS SQL DATA
BEGIN
RETURN (SELECT count(*) FROM test where id = id)
END$
DELIMITER ;
delimiter $
CREATE PROCEDURE update_test_test_id(p_id INT, p_date INT)
BEGIN
update test set test_id = p_date where id = p_id;
END$
delimiter ;
DELIMITER $
CREATE PROCEDURE select_test_id (OUT p_id int)
BEGIN
SELECT COUNT(*) FROM test where id = p_id INTO p_id;
END $
DELIMITER ;
DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`user_name` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名称',
`gender` tinyint(1) NOT NULL DEFAULT '0' COMMENT '用户性别;1:男,2:女',
`add_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户注册时间',
`update_timne` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '用户最后更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `user_name` (`user_name`),
KEY `gender` (`gender`),
KEY `add_time` (`add_time`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COMMENT='用户信息表'
#3触发器
delimiter $
CREATE TRIGGER ai_t AFTER INSERT ON user_info
FOR EACH ROW BEGIN
INSTER INTO test(`test_id`) values((SELECT test_id FROM test_id order by id desc limit 1 )+1)
END $
DELIMITER ;
delimiter $
CREATE TRIGGER bi_t BEFORE INSERT ON t
FOR EACH ROW BEGIN
SET new.dt = CURRENT_TIMESTAMP;
IF NEW.parent <0 THEN
SET new.parent = 0;
ELSEIF new.parent >100 THEN
SET new.parent = 100;
END IF;
END$
DELIMITER ;
#4创建事件
CREATE EVENT id_defined_min
ON SCHEDULE EVERY 0.02 HOUR
DO
DELETE FROM test where id <9 ;
Mysql 存储程序的更多相关文章
- 实战mysql存储程序与定时器
home198979 实战mysql存储程序与定时器 博客分类: mysql 存储过程定时器eventprocedure实战 需求:一个庞大的日志表,现每天做定时统计一天的总数,放另一个表中,方便查 ...
- 数据库之mysql存储程序
什么时候会用到存储过程 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度2.当对数据库进行复杂操作时 ...
- mysql存储程序
什么时候会用到存储过程 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度2.当对数据库进行复杂操作时 ...
- 《MySQL 存储过程编程》-读书笔记
本书结构: 第一部分:存储编程基础 第1章:存储过程程序基础 第2章:MySQL存储编程指南 第3章:语言基础 第4章:语句块 第5章:在存储程序中使用SQL 第一章:MySQL存储程序介绍 存储程序 ...
- mysql存储过程详细讲解及完整实例下载
一.存储过程概念 1.存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集.经编译后存储在数据库 中. 2.存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给 ...
- MySQL高级查询与编程笔记 • 【第4章 MySQL编程】
全部章节 >>>> 本章目录 4.1 用户自定义变量 4.1.1 用户会话变量 4.1.2 用户会话变量赋值 4.1.3 重置命令结束标记 4.1.4 实践练习 4.2 存 ...
- 存储程序(2)——MYSQL
1.触发器 触发器是与特定数据表相关联的存储过程,当相应的数据表被INSERT.DELETE或UPDATE语句修改时,触发器将自动执行.触发器可以被设置成在这几种语句处理每个数据行之前或之后触发.触发 ...
- 存储程序(1)——MYSQL
MySQL支持把几种对象存放在服务器端供以后使用.这几种对象有一些可以根据情况通过程序代码调用,有一些会在数据表被修改时自动执行,还有一些可以在预定时刻自动执行.它们包括以下几种: 1.存储函数(st ...
- 阅读MySQL文档第20章:存储程序和函数
本文把阅读到的重点摘抄下来. 一.一个子程序要么是一个程序要么是一个函数.使用CALL语句来调用程序,程序只能用输出变量传回值.就像别其它函数调用一样,函数可以被从语句外调用(即通过引用函数名),函数 ...
随机推荐
- Java微框架:不可忽视的新趋势--转载
原文:http://www.infoq.com/cn/news/2015/06/Java-Spark-Jodd-Ninja?utm_campaign=infoq_content&utm_sou ...
- Linux服务器集群系统(一)--转
引用地址:http://www.linuxvirtualserver.org/zh/lvs1.html LVS项目介绍 章文嵩 (wensong@linux-vs.org)2002 年 3 月 本文介 ...
- 两种方式连接mysql
一种方式:运行命令符后,mysql -u root -p(如果不成功,说明环境变量没配,命令行到 mysql的bin目录下,然后运行mysql -u root -p 应该成功了) 另外一种方式,直接有 ...
- 点击UITableviewCell展开收缩
#import "ViewController.h" #import "ZSDTestCell.h" @interface ViewController ()& ...
- 【Shell脚本学习9】Shell替换:Shell变量替换,命令替换,转义字符
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value ...
- 《Cortex-M0权威指南》之体系结构---存储器系统
转载请注明来源:cuixiaolei的技术博客 Cortex-M0处理器为32位处理器,所以具有最大4G的寻址空间.在体系结构上,存储器空间被划分位一系列的区域,每个区域都有推荐的用途,以提高不同设备 ...
- Scrapy使用心得
今天安装了大名鼎鼎的Scrapy,不过碰到了不少问题,包括"Unable to find vcvarsall.bat" 这个错误应该很常见的,用了最简单的解决方法: 安装visua ...
- 段描述符表(GDT+LDT)的有感
[0]写在前面 要知道,在汇编中,代码的装入顺序决定了在内存中的地址位置.所有的代码或者数据都在硬盘上,当调试或者启动的时候,加载到内存:当需要对数据进行处理的时候,我们通过将数据从内存载入到regi ...
- CENTOS如何禁用ROOT本地或远程SSH登录
下面详细描述如何禁止root登录. 禁止root本地登录 禁止root远程ssh登录 禁止root本地登录 修改/etc/pam.d/login文件增加下面一行 1 auth required p ...
- MVC datetime? & datetime 设置格式
设置datetime的格式,直接有方法重载进行,即使数据为datetime?格式 设置起始时间在配置的时候添加设置 $('#closeTime').datetimepicker({ language: ...