`

Mysql那些事儿之(十二)存储过程

阅读更多

存储过程是经过编译之后存放在数据库中的sql语句集合。

存储过程怎么写

看例子:

存储过程的语法

create procedure proc_name (proc_peremeter1,.....)  --存储过程名称和参数
[characteristic ....] 
routine_body  --存储过程 

调用存储过程的语法

call proc_name  --调用存储过程

示例 创建存储过程

当然创建存储过程之前先建立相关的表,为了学习只建立一个简单的表结构;

CREATE TABLE filmall (
  id smallint(5) NOT NULL,
  film_id smallint(6) NOT NULL,
  name varchar(40) DEFAULT NULL,
  store_id smallint(6) NOT NULL,
  txt text,
  PRIMARY KEY (`id`)
) ;

在数据表里插入数据。

写一个简单的存储过程:

--存储过程的名称为proc_film_store,参数为3个:前面两个为输入,后面一个为输出
delimiter $$
create procedure proc_film_store (IN p_film_id INT,IN p_store_id INT,OUT p_film_count INT)
BEGIN
SELECT txt FROM filmall WHERE film_id = p_film_id AND store_id = p_store_id;
SELECT FOUND_ROWS() INTO p_film_count;  --将条数放入变量中
END $$
delimiter ;

 现在就可以调用存储过程了。

call proc_film_store(1,1,@a);---输入参数
--执行完之后会输出查询出来的数据

--输出查询到的条数
select @a;

 存储过程就OK了。

--还有一点要说明的是,书写存储过程时,一般会用到如下命令
--书写存储过程之前,改变结束符
delimiter $$  --这个语句的意思是将结尾符;替换为$$
--写完存储过程之后,再将结束符改回来
delimiter ;

 

 

分享到:
评论

相关推荐

    Mysql快速生成10000条随机数据(存储过程)脚本

    通过存储过程快速生成实验所需的随机数据,包含创建表,创建存储过程和调用存储过程

    linux那些事儿.rar

    这个名为“linux那些事儿.rar”的压缩包可能包含了关于Linux系统的一些文章或教程,帮助我们深入理解和掌握这个开源操作系统。下面,我们将从多个方面来探讨Linux的相关知识点。 首先,我们要知道Linux是一个基于...

    Linux那些事儿

    《Linux那些事儿》这篇文章或许揭示了作者在面对技术深度与简洁表述之间矛盾时的无奈,同时也反映出Linux系统及其相关技术的复杂性和深度。Linux是一种开源操作系统,它的内核由林纳斯·托瓦兹于1991年创建,如今已...

    大数据那些事儿.pptx

    - **天源迪科**: 在安徽电信、四川电信等成功应用Hadoop+MySQL架构。 - **广东亿讯**: 与广东电信合作,建设Hadoop大数据平台。 - **亚信联创**: 自主开发基于Hadoop的分布式计算平台“橘云”。 - **中兴软创**:...

    撰写后台需求文档需要注意的那些事儿.docx

    例如,MySQL是常见的小型数据库选择,而大型项目可能需要Oracle或SQL Server。每个表对应特定的信息,合理的表结构设计可以避免数据量增大时性能下降的问题。 接口是前端与后台交互的桥梁,定义了数据交换的格式和...

    微博数据库那些事儿:3个变迁阶段背后的设计思想.zip

    这一阶段,数据库主要采用关系型数据库管理系统(RDBMS),如MySQL,以满足基本的数据存储和查询需求。设计思想主要侧重于数据的一致性和完整性,通过ACID(原子性、一致性、隔离性和持久性)属性来确保数据的可靠性...

    Elasticsearch在移动病毒侦测领域应用那些事儿-李啸

    传统的数据库如MySQL或MongoDB都是可行的选项,但Elasticsearch提供了更为强大的全文搜索能力和丰富的查询语言(DSL)。Elasticsearch的分集群存储和分布式特性使得存储和检索大量数据变得高效,而不需要复杂的配置...

    mysql主从复制读写分离

    MySQL的主从复制和读写分离是数据库高可用性和负载均衡的重要策略,它们可以提高数据库系统的性能和稳定性。以下是对这一主题的详细说明: **主从复制** 是一种数据库复制技术,它允许数据从一个主数据库(Master)...

    MySql外键设置详解

    MySql 外键设置详解 MySql 外键设置详解 一、外键的使用 外键是数据库中的一种约束,用于确保数据的一致性和完整性。外键的作用主要有两个:一是让数据库自己通过外键来保证数据的完整性和一致性;二是能够增加 ...

    Java程序员上班那点事儿

    Java程序员的日常工作中充满了各种挑战和乐趣,这些挑战和乐趣构成了他们“上班那点事儿”。在Java编程的世界里,理解并掌握一系列关键知识点是至关重要的。以下是对Java程序员日常工作的详细解析: 1. **基础语法*...

    编程的那些事(包括很多内容)

    数据库管理系统(DBMS)是数据存储和检索的核心,掌握SQL语言,理解关系型数据库如MySQL、Oracle,以及NoSQL数据库如MongoDB、Redis,是开发数据驱动应用的基础。 版本控制系统如Git,是团队协作的重要工具,它帮助...

    数据库那点事儿

     文章开始之前,还是先吐槽一下:那些从学校步入社会的人们丫,多上点心,别天天还搞基,伤身又伤心,底子薄没事,不肯前进是大事了,不是每个头头都这么好心,还一点一点给你们写培训文档。  本文都是Mysql为...

    PHP面试总结面试总结

    - **队列**: 在数据库操作中,尤其是在使用表级锁的存储引擎如MyISAM时,队列的概念尤为重要。当多条查询同时作用于同一张表时,因为MyISAM采用的是表级锁,所有针对这张表的操作必须排队等待,前一条查询执行完毕后...

    《统计学-基于R》课本涉及函数详解2.19.docx

    数据框(data.frame)是最常用的数据结构,用于存储二维表(即关系表)的数据,每一列存储的数据类型必须相同,不同数据列的数据类型可以相同,也可以不同,但是每列的行数(长度)必须相同。 创建数据框: 可以...

    数据库三级考试数据库资料.zip

    数据库是信息技术领域中的核心部分,尤其在数据存储、管理和分析方面扮演着至关重要的角色。针对“三级数据库”考试,考生需要掌握一系列关于数据库技术的知识点。以下是对这些知识点的详细阐述: 1. **数据库概念...

Global site tag (gtag.js) - Google Analytics