MySQL数据库的存储过程(一)

MySQL数据库的存储过程
常规
create routine
alter
execute
security
definer

在创建存储过程的时候默认是选中相应的数据库(use db_name)
所以在编写存储过程时候就不能在存储过程之中编写此语句

delimiter客户端

使用delimiter客户端设置结束符
delimiter //
主要是为了避免与存储过程中的SQL语句的结束符冲突

创建一个程序或者一个函数
create procedure | function

学习存储过程
首先我们应该学会最基本的几个操作
创建,调用,修改,删除
那么,我们通过以下几个案例来加深印象

删除一个存储过程

drop procedure | function if exists proName //

查看一个存储过程

show create procedure | function db_name.proName //

查看一个存储过程的详细信息

show procedure | function status like ‘proName‘ //

使用案例一、编写一个简单查询功能的存储过程

在使用delimiter客户端的时候,会将;将 //的形式进行处理
那么在创建和调用存储过程的时候一定要统一调用的形式
要么一直使用;,要么一直使用//

1、创建存储过程

delimiter //
create procedure simplepro (out num int)
begin
select count(*) into num from member ;
end
//

2、调用存储过程

delimiter //
call simplepro(@a) //
select @a //

调用存储过程的时候指定一个输出结果的别名以供调用,
其中a只是指定的一个别名

使用案例二、编写一个简单的存储函数
1、创建存储函数

delimiter //
create function hello (s char(20)) returns char(50)
return concat(‘hello, ‘, s, ‘!‘)
//

2、调用存储函数

delimiter //
select hello(‘world!‘)
//
时间: 2024-10-28 15:24:47

MySQL数据库的存储过程(一)的相关文章

mysql数据库执行存储过程问题

今天在mysql数据库中执行一个存储过程,由于没有安装mysql数据连接工具,只好在黑框框里执行然后就遇到下面的问题: 一直说是我的存储过程的语法有问题,但是看了好久都没有看出问题,后来查了一上午资料才发生问题所在: 在mysql中":"会默认为是一句sql语句的结束,所以在使用source命令执行数据库脚本时,遇到":"符号时,数据库会认为你一句sql语句写完了,他会自动执行这句,这时候就出问题了,要解决这个问题可以使用DELIMITER命令来自定义语句的结束标志

MySQL数据库之存储过程与存储函数

1 引言 2 存储过程与存储函数 3 创建与修改存储过程和函数 4 控制语句 5 查看存储过程和函数 6 删除存储过程和函数 7 总结 1 引言 存储过程和存储函数类似于面向对象程序设计语言中的方法,可以简化代码,提高代码的重用性.本文主要介绍如何创建存储过程和存储函数,以及存储过程与函数的使用.修改.删除等操作. 2 存储过程与存储函数 MySQL中提供存储过程与存储函数机制,我们姑且将存储过程和存储函数合称为存储程序.与一般的SQL语句需要先编译然后立即执行不同,存储程序是一组为了完成特定功

Entity Framework访问MySQL数据库的存储过程并获取返回值

一.创建MySql存储过程 1, CREATE PROCEDURE `InsertAlarmInfo`(in businessindex int, in providerindex int, in alarmtype int, in alarmlevel int,in detecttime DateTime, in alarmdescription varchar(50), in alarmphenomenon int, in subBusinessType int, in businessEn

MySQL数据库的存储过程

一.存储过程 1.定义:一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行 2.优点:①将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调用          ②批量处理:SQL+循环,减少流量,也就是"跑批" ③统一接口,确保数据的安全 3.>存储过程就是具有名字的一段代码,用来完成一个特定的功能.   >创建的存储过程保存在数据库的数据字典中. 4.基本创建格式 1

mysql 数据库 简单存储过程游标使用

BEGIN #Routine body goes here... DECLARE no_more_record INT DEFAULT 0; DECLARE TEST_ID INT(20); DECLARE TEST_USERNAME VARCHAR(20); DECLARE TEST_SEX INT(2); DECLARE TEST_ADDRESS VARCHAR(20); DECLARE cur_record CURSOR FOR SELECT id, username,sex,addres

mysql数据库之编码重新设置

最近在使用使用mysql数据库的存储过程的时候,发现一些问题,数据库编码和表格.字段的编码不一致 导致运行的时候出现问题,错误提示:1267 - Illegal mix of collations 通过网上的一些方法解决了数据库系统本身的编码,还有边个的编码,但还是没有解决问题, 然后建表的语句导出来看看: CREATE TABLE `dev_info` ( `id` int(11) NOT NULL AUTO_INCREMENT , `dev_id` int(10) NOT NULL , `d

mysql数据库使用

---恢复内容开始--- C#操作Mysql数据库的存储过程,网址 DATEDIFF() 函数返回两个日期之间的天数. 语法 DATEDIFF(date1,date2) date1 和 date2 参数是合法的日期或日期/时间表达式. 注释:只有值的日期部分参与计算. 实例 例子 1 使用如下 SELECT 语句: SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate 结果:1 MySQL是不支持SELECT - INTO语法的,使用INS

mysql数据库创建函数过程

1.创建mysql数据库的存储过程,语句 2.选择执行创建的数据库存储过程即可

MySQL数据库(7)_用户操作与权限管理、视图、存储过程、触发器、基本函数

用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIED BY "密码"; 方法二: INSERT语句创建 INSERT INTO mysql.user(user,host, password,ssl_cipher,x509_issuer,x509_subject) VALUES('用户名','IP地址',password('密码'),'',