-
创建带有IN和OUT类型参数的存储过程(存储过程中删除指定Id的记录并且返回剩余记录数)
INTO作用:将select结果放入变量。
调用带有IN和OUT类型参数的存储过程(由于删除后第二个参数会返回一个数值,这里需要用变量去承接)SELECT 变量名;
在BEGIN和END中通过declare声明的变量为局部变量,作用范围只在BEGIN和END之间(BEGIN和END语句块运行完后,也就消失了),而且在BEGIN和END使用declare声明变量必须位于第一行。还可以通过SET 变量名=值,来声明变量,这种方式声明的变量为用户变量,用户变量和Mysql客户端绑定的,作用域只对当前用户所登陆的客户端生效,尤其带@符号,称为用户变量。
查看全部 -
创建带有IN类型参数的存储过程
调用带有IN类型参数的存储过程
注意:该纪录所有都被删除掉了,定义的参数名不可以与表中记录的列名相同。
修改存储过程:修改时只可以修改注释(简单选项)、当前内容的类型等等,并不能修改过程体(如果想修改过程体,只能删除存储过程,再重新创建存储过程)。
删除存储过程
查看全部 -
MySQL创建不带参数的存储过程(该存储过程获取Mysql版本的功能)
创建存储过程:CREATE PROCEDURE sp1() SELECT VERSION();
调用存储过程
【1】CALL sp_name([parameter[,...]])
【2】CALL sp_name[()]
如果存储过程在封装的过程中没有参数,小括号带不带都可以。但是如果封装时有参数,则小括号必须带。
例如上面调用:CALL sp1或者CALL sp1();
查看全部 -
创建存储过程
创建存储过程语法结构基本和创建自定义函数语法结构相同,最大不同就是参数部分。
首先可以指定创建者DEFINER,如果省略,则默认指向(当前用户))当前登入到Mysql客户端的用户。
sp_name指的是存储过程的名字,它后面的参数可以有多个,存储过程名使用PROCEDURE修饰,参数前面可以使用IN|OUT|INOUT修饰。
IN:表示该参数的值必须在调用存储过程时指定(存储过程中该值不能返回,只能进不能出)。
OUT:表示该参数的值可以被存储过程代码改变,并且可以返回。
INOUT:表示该参数的可以被指定,并且可以被存储过程体改变和返回。
存储过程的特性(【characteristic...】)与自定义函数特性是完全相同的。
查看全部 -
MySQL命令执行流程
MySQL存储过程:SQL语句和控制语句的预编译集合,一个名称存储并作为一个单元处理(简化了语法分析和编译这两个过程,提高了Mysql的执行效率),存储过程存储在数据库内可以由应用程序调用执行,而且允许用户声明变量和流程控制,存储过程可以接受参数(输入参数、输出参数),并可以存在多个返回值。
理解:正常情况下两个sql语句,Mysql引擎需要分析两次并编译两次,而使用存储过程,则只需要分析一次并且编译一次。
存储过程的优点
【1】增强SQL语句的功能和灵活性(存储过程内可以书写控制语句,可以完成复杂的运算)
【2】实现了较快的执行速度
【3】减少了网络流量(例如删除,HTTP传输,不在写很多sql语句,直接书写存储过程名及id名)
查看全部 -
【a】自定义函数:简称UDF,是对MySQL扩展的一种途径。
【b】创建自定义函数:CREATE FUNCTION...
【c】自定义函数的两个必要条件:
【1】参数——可以有零个或多个。
【2】返回值——只能有一个返回值。
【d】函数体内可以书写多个sql语句,这种称为复合结构函数,需要使用BEGIN...END来包含。
查看全部 -
MySQL创建具有复合结构函数体的自定义函数
查看全部 -
MySQL创建带有参数的自定义函数
查看全部 -
MySQL创建不带参数的自定义函数
查看全部 -
MySQL自定义函数
查看全部 -
MySQL加密函数
查看全部 -
MySQL信息函数
查看全部 -
MySQL日期函数
查看全部 -
MySQL比较运算符与函数
查看全部 -
MySQL数值运算符和函数
查看全部
举报