创建存储过程简单示例:

DELIMITER //
CREATE PROCEDURE ccgc()
BEGIN
SELECT * FROM TEXT;
SELECT * FROM s_user;
END
//DELIMITER ;

//调用
CALL ccgc()

创建带参数的存储过程:

DELIMITER //
CREATE PROCEDURE ccgc2(IN c_name VARCHAR(32))
BEGIN
    SELECT * FROM TEXT WHERE NAME = c_name;
    SELECT * FROM s_user;
END
//DELIMITER ;

//调用
CALL ccgc2(参数)

创建输出参数存储过程

DELIMITER //
CREATE PROCEDURE ccgc3(OUT c_name VARCHAR(32))
BEGIN
    SET c_name = '666';
    SELECT c_name;
END
//DELIMITER ;

//调用
CALL ccgc3(@c_name)

输入输出和变量

DELIMITER //
CREATE PROCEDURE ccgc7(INOUT c_name VARCHAR(32))
BEGIN
    DECLARE hh VARCHAR(32) DEFAULT '1111111111';
    SELECT * FROM TEXT WHERE NAME = hh;
END
//DELIMITER ;

CALL ccgc7(@c_name)

总结:

1)  如果仅仅想把数据传给MySQL存储过程,那就用in类型参数;  
2)  如果仅仅从MySQL存储过程返回值,那就用out类型参数;  
3)  如果需要把数据传给MySQL存储过程经过计算再传回给我们,那就用inout类型参数。

查看存储过程;SHOW CREATE PROCEDURE proc_name;

查看函数:SHOW CREATE FUNCTION func_name;

删除存储过程:DROP PROCEDURE proc_name;

删除函数:DROP FUNCTION func_nmae;

jpa者mybatis sql调用直接执行CALL ccgc()即可,例:

@Query(value = "call ccgc()",nativeQuery = true)
public List<Map<String,Object>> findZdy(Map<String,Object> map);

mysql创建存储过程及调用的更多相关文章

  1. MySql创建存储过程,并使用事件定时调用

    一.使用命令行创建存储过程的步骤 :参数详情参考 https://www.mysqlzh.com/ 1.模板  delimiter $$ # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ' ...

  2. [转]MYSQL 创建存储过程

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  3. JDBC对MySQL数据库存储过程的调用

    一.MySQL数据库存储过程: 1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完成特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中,用 ...

  4. mysql 创建存储过程

    mysql 创建存储过程 实例一: CREATE PROCEDURE cp_test() BEGIN declare a int; declare b int; ; ; select a,b; END ...

  5. iBatis调用存储过程以及MySQL创建存储过程

    首先是MySQL中创建存储过程的SQL -- 列出全部的存储过程 SHOW PROCEDURE STATUS; -- 查看一个已存在的存储过程的创建语句,假设此存储过程不存在,会提示SQL错误(130 ...

  6. mysql 创建存储过程 创建1000w测试数据表

    存储过程:The stored procedure 结构 CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE stored_procedure_n ...

  7. mysql -- 创建存储过程 往数据表中新增字段

    需求: 往某数据库的某个表中新增一个字段(若该字段已存在,则不做操作:若该字段不存在,则新增) 百度了n久,没有符合要求的例子,只有参考加自己琢磨,最终终于给弄出来了,以下是几个版本的更迭 第一版: ...

  8. mysql创建存储过程中的问题

    1.在创建存储过程成功后,使用call 存储过程名执行时报错: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_gener ...

  9. mysql创建存储过程,定时任务,定时删除log

    -- 创建存储过程 清除30天前的日志create procedure deleteLog()BEGINdelete from contract_vlog where create_time<D ...

随机推荐

  1. 收藏 | 15 个你非了解不可的 Linux 特殊字符,妈妈再也不用担心我看不懂这些符号了!

    不知道大家接触 Linux 系统有多久了,可曾了解过 Linux 中有哪些特殊的字符呢?其实啊,那些特殊字符都大有用处呢,今天的文章就给大家简单地科普一下 Linux 中你需要了解的 15 个特殊字符 ...

  2. 2020年PHP 面试问题(三)

    2020年PHP 面试问题(一) 2020年PHP 面试问题(二) 一.数据库三范式 第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解: 第二范式:2NF是对记录的惟一性约束,要求 ...

  3. 配置centOS下的Python

    Linux下Python版本升级: 1. 首先确认Linux操作系统中自带的python 版本时候与自己所需要的版本一致 所有的python版本都在https://www.python.org/ftp ...

  4. Win10下 VSCode配置LaTex环境

    ------------恢复内容开始------------ 环境:win10 软件:Tex Live, VSCode ,Sumatra Tex Live官网下载速度很慢,所以推荐使用清华镜像下载链接 ...

  5. sql 数据库操作语句 不带select

    MySQL数据操作语句 1.总纲 DDL -数据定义语句** create/drop/alter ** create: 创建 drop:删除 alter:修改 DML -数据操作语句 ** inser ...

  6. 模块 psutil 系统信息获取

    psutil模块介绍 psutil是一个开源切跨平台的库,其提供了便利的函数用来获取才做系统的信息,比如CPU,内存,磁盘,网络等.此外,psutil还可以用来进行进程管理,包括判断进程是否存在.获取 ...

  7. [noip模拟]水灾<BFS>

    水灾(sliker.cpp/c/pas) 1000MS  64MB 大雨应经下了几天雨,却还是没有停的样子.土豪CCY刚从外地赚完1e元回来,知道不久除了自己别墅,其他的地方都将会被洪水淹没. CCY ...

  8. Jenkins集成时报错 hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx:32034

    Started by user test Running as SYSTEM Building remotely on home_windows (mbhCloud_UI_Test) in works ...

  9. 如何使用Rancher在OpenStack上创建K8S集群

    不可否认的是,OpenStack仍然是可行的云操作系统,并且被全世界许多互联服务提供商使用.而Rancher是业界最为广泛使用的Kubernetes管理平台,通过简洁直观的GUI集中管理企业IT中的多 ...

  10. implements Serializable

    implements Serializable 1. 序列化和反序列化 序列化: 把对象转换为字节序列的过程称为对象的序列化. 反序列化: 把字节序列恢复为对象的过程称为对象的反序列化. 在Java和 ...