mysql存储过程

转 mysql 存储过程初探

匿名 (未验证) 提交于 2019-12-02 22:06:11
https://www.cnblogs.com/qmfsun/p/4838032.html MySQL命令执行sql文件的两种方法 https://www.cnblogs.com/mark-chan/p/5384139.html CREATE PROCEDURE GreetWorld() SELECT CONCAT(@greeting,' World'); SET @greeting='Hello'; CALL GreetWorld(); https://blog.csdn.net/shaochenshuo/article/details/49890947 mysql中使用tee实现类似oracle spool功能 SELECT FROM_UNIXTIME(his.clock, "%Y-%m-%d") AS DATE, his.VALUE AS traffic, (a.key_) AS NAME, a.name AS db_name, a.host AS HOST FROM history his,(SELECT i.key_,i.itemid,h.hostid,h.host,h.name FROM items i,HOSTS h WHERE h.hostid=i.hostid AND i.key_ LIKE '%size%db%oradata,pfree%' ) a WHERE

MySQL 存储过程例子,不能在if else里面用begin end否则会报错Error Code : 1064!

匿名 (未验证) 提交于 2019-12-02 22:02:20
Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 报错是因为mysql的procedure里面if else语句里面, 用了begin end语句,去掉了就OK了. DELIMITER $$ USE `sportgbmj`$$ DROP PROCEDURE IF EXISTS `sp_web_addmiddayrank`$$ CREATE DEFINER=`root`@`%` PROCEDURE `sp_web_addmiddayrank`() BEGIN /* 修订记录: ------------------------------------------------------------------- 版本 修订人 修订日期 修订描述 ------------------------------------------------------------------- 1.0.0 2013-06-15 查询当前中午12:30-13:30比赛排名 该sp 当前比赛结束后执行 排名先决条件: 1:在一场内必须完满10(含)局以上

MYSQL存储过程实现用户登录

匿名 (未验证) 提交于 2019-12-02 21:59:42
MYSQL存储过程实现用户登录 CREATE DEFINER=`root`@`%` PROCEDURE `uc_session_login`( IN `_email` VARCHAR(50), IN `_pwdmd5` CHAR(32) ) LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN #密钥表 DECLARE _keyid INT(10)UNSIGNED; DECLARE _secretkey CHAR(32); #登录表 DECLARE _uid INT(10)UNSIGNED; DECLARE _username VARCHAR(50); DECLARE _password CHAR(32); DECLARE _salt CHAR(6); #地址记录表 DECLARE _failedlogins INT(10)UNSIGNED; #与字段无关的输入 DECLARE failedlogins_max INT(10)UNSIGNED DEFAULT 1;#密码错误次数上限 DECLARE failedlogins_timeout INT(10)UNSIGNED DEFAULT 2;#时间范围内清零计数 DECLARE failedlogins_unlocktime

mysql 存储过程深化篇三、

笑着哭i 提交于 2019-12-02 06:08:53
1、变量的定义方式 declare orgIds BIGINT 0;或者 declare @orgIds BIGINT 0; declare:声明变量关键字, orgIds或者@orgIds:声明变量的名称,带@的是标志变量为局部变量 BIGINT :表示被声明变量的数据类型(在MySQL中,其声明的数据类型子存在八大基础类行,没有数组和list概念,因此在MySQL中没有对象的概念) 注:有MySQL的数据类型我们就可以衍生一个问题,当我通过sql语句查询到一个列表时,我们是无法直接操作结果的每一行的数据,需要借助MySQL里面的游标的概念去处理结果集的每一行数据,游标在Java,其原理类似与 迭代器 的概念,它会输出一行数据并且将指针指向一行 2、判断的使用 if 条件 than 需要执行的业务操作体 。。。 else 需要执行的业务提 ... end if; 3、循环的使用 这里重要说明 repeat 语法:repeat 开启循环,end repeat 终止循环 repeat 需要执行的业务提代码 。。。 。。。 until state = 1 end repeat; 4、游标 声明方式; declare 游标名称 cursor for 声明的结果集 示例: declare updateTaskList cursor for SELECT age,name from

转 mysql 存储过程初探

天大地大妈咪最大 提交于 2019-11-29 19:17:49
https://www.cnblogs.com/qmfsun/p/4838032.html MySQL命令执行sql文件的两种方法 https://www.cnblogs.com/mark-chan/p/5384139.html CREATE PROCEDURE GreetWorld() SELECT CONCAT(@greeting,' World'); SET @greeting='Hello'; CALL GreetWorld(); https://blog.csdn.net/shaochenshuo/article/details/49890947 mysql中使用tee实现类似oracle spool功能 SELECT FROM_UNIXTIME(his.clock, "%Y-%m-%d") AS DATE, his.VALUE AS traffic, (a.key_) AS NAME, a.name AS db_name, a.host AS HOST FROM history his,(SELECT i.key_,i.itemid,h.hostid,h.host,h.name FROM items i,HOSTS h WHERE h.hostid=i.hostid AND i.key_ LIKE '%size%db%oradata,pfree%' ) a WHERE

Mybatis入门(四)-----如何通过事务查询

落爺英雄遲暮 提交于 2019-11-29 03:17:00
首先我们需要在数据库中创建一个事务,如图,这是Mysql中的语法,这里可以看见有一个in和out,我们在查询过程中通过into,将查询数据关联到out ncount中,输入的数据就直接可以通过sage来使用。 使用存储过程的话一般都是通过map类型来传入参数的。 //根据存储过程查询数据 public static void selectByprocedure() throws IOException{ Reader reader = Resources.getResourceAsReader("Mybaitis_config.xml"); //SqlSessionFactory SqlSessionFactory sessionfactroy = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionfactroy.openSession(); UserMapperTest usermapper = session.getMapper(UserMapperTest.class); Map<String,Object> map = new HashMap(); map.put("sage", 21); //map.put("some","李"); usermapper

spring中的JdbcTemplate简单记录

寵の児 提交于 2019-11-28 10:27:03
JdbcTemplate主要提供以下五类方法: execute方法: 可以用于执行任何SQL语句,一般用于执行DDL语句; update方法及batchUpdate方法: update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句; query方法及queryForXXX方法: 用于执行查询相关语句; call方法: 用于执行存储过程、函数相关语句。 JdbcTemplate类支持的回调类: 预编译语句及存储过程创建回调: 用于根据JdbcTemplate提供的连接创建相应的语句; PreparedStatementCreator :通过回调获取JdbcTemplate提供的Connection,由用户使用该Conncetion创建相关的PreparedStatement; CallableStatementCreator: 通过回调获取JdbcTemplate提供的Connection,由用户使用该Conncetion创建相关的CallableStatement; 预编译语句设值回调: 用于给预编译语句相应参数设值; PreparedStatementSetter: 通过回调获取JdbcTemplate提供的PreparedStatement,由用户来对相应的预编译语句相应参数设值; BatchPreparedStatementSetter:

mysql(6)视图、事务、流程控制

假如想象 提交于 2019-11-28 08:22:56
目录 视图 触发器 事务 存储过程 内置函数 流程控制 索引 视图 (尽量少用) 工作用的不是很多 原因:1.创建过多" 视图 ",占用硬盘资源和数据库资源 ​ 2.无法改表 1、什么是视图 ​ 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2、为什么要用视图 ​ 当频繁需要用到多张表的连表结果,你就可以事先生成好视图 ​ 之后直接调用即可,避免了反复写连表操作的sql语句 2 3、如何用视图 create view teacher_course as select * from teacher inner join course on teacher.tid = course.teacher_id; 视图存在于“视图”中 强调 1、在硬盘中,视图只有表结构文件,没有表数据文件, 视图中的数据还是来源于原来的表 2、视图通常是用于查询,尽量不要修改视图中的数据 3、一般情况下不会频繁的使用视图来写业务逻辑 drop view teacher2course; 视图 只有表结构文件: 不要 修改 视图中的数据(默认也不让修改): 思考:开发过程中会不会去使用视图? 不会!视图是mysql的功能,如果你的项目里面大量的使用到了视图,那意味着你后期想要扩张某个功能的时候这个功能恰巧又需要对视图进行修改,意味着你需要先在mysql这边将视图先修改一下

C#工具类MySqlHelper,基于MySql.Data.MySqlClient封装

强颜欢笑 提交于 2019-11-28 05:50:19
源码: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Data; 7 using MySql.Data.MySqlClient; 8 9 10 namespace Fly.Util.DataBase 11 { 12 /// <summary> 13 /// MySql数据库操作类 14 /// </summary> 15 public static class MySqlHelper 16 { 17 /// <summary> 18 /// 执行数据库非查询操作,返回受影响的行数 19 /// </summary> 20 /// <param name="connectionString">数据库连接字符串</param> 21 /// <param name="cmdType">命令的类型</param> 22 /// <param name="cmdText">MySql存储过程名称或PL/SQL命令</param> 23 /// <param name="cmdParms">命令参数集合</param> 24 /// <returns

Oracle数据库基本操作

霸气de小男生 提交于 2019-11-27 15:18:38
本文根据自己经验所写,如有错误及时提出 --每段语句使用分号结束 --创建表空间 create tablespace zimegll --创建数据库文件 datafile 'c:\travel.dbf' --文件大小 size 100m autoextend on next 10m; --删除表空间 drop tablespace zimegll; --创建用户 create user zimegll identified by zimegll --出生的表空间 default tablespace zimegll; --给用户授权 --Oracle数据库中常用角色 -- connect:连接角色,基本角色 -- resource:开发者角色 -- dba:超级管理员用户角色 -- 方便学习,我们给用户授予dba角色 grant dba to zimegll; --切换用户 session->log off all->log on --创建一个表 create table person( pid number(20), panme varchar2(10) ); --修改表结构 --添加一列,多列则用逗号隔开 alter table person add (gender number(1)); --修改列类型 alter table person modify gender