mysql中的存储过程、触发器、视图的用法建立存储过程
Create procedure、Create function
下面是它们的格式:
Create proceduresp_Name ([proc_parameter ])
routine_body
这里的参数类型可以是 IN OUT INOUTT,意思和单词的意思是一样的,IN表示是传进来的参数,
OUT是表示传出去的参数,INOUT是表示传进来但最终传回的参数 。
Create functionsp_Name ([func_parameter ])
Returns type
Routine_body
Returns type 指定了返回的类型,这里给定的类型与返回值的类型要是一样的,否则会报错 。
下面给出两个简单的例子来说明:
1、 显示Mysql当前版本
执行结果
mysql use welefen;
Database changed
mysql delimiter //#定义//作为结束标记符号
mysql create procedure getversion(out param1 varchar(50)) #param1为传出参数
- begin
- select version() into param1;#将版本的信息赋值给 param1
- end
- //
Query OK, 0 rows affected (0.00 sec)
mysql call getversion(@a);#调用getversion()这个存储过程
- //
Query OK, 0 rows affected (0.00 sec)
mysql select @a;
- //
+--------------------------+
| @a|
+--------------------------+
| 5.1.14-beta-community-nt |
+--------------------------+
1 row in set (0.00 sec)
2、 显示”hello world”
执行结果
mysql delimiter //
mysql create function display(w varchar(20)) returns varchar(50)
- begin
- return concat('hello ‘,w);
- end
- //
Query OK, 0 rows affected (0.05 sec)
mysql select display("world");
- //
+------------------+
| display("world") |
+------------------+
| hello world|
+------------------+
1 row in set (0.02 sec)
其他操作存储过程的语句
前面我们已经知道了怎么创建存储过程 , 下面看看其他常用的用于操作存储过程的语句 。
Alter {procedure | function} sp_Name []
Alter 语法是用来改变一个过程或函数的特征,当你想改变存储过程或者函数的结构时可以使
用它 。当然你也可以先 drop 它再 create 。
Drop {procedure | function}[if exists] sp_Name
Drop 语法即用来删除一个存储程序或者函数 , 当你创建的一个存储过程或者函数的名字已经存
在时,你想把以前的给覆盖掉,那么此时你就可以使用 drop ,然后在创建 。
Show create {procedure | function } sp_Name
Show 语法用来显示创建的存储过程或者函数的信息 。这里的 show 用法跟数据表中的 show 用
法是很相似的 。
Show {procedure | function} status [like 'partten']
它返回子程序的特征,如数据库,名字,类型,创建者及创建和修改日期 。如果没有指定样式,
【mysql怎么保存视图 mysql如何保存】根据你使用的语句,所有存储程序和存储函数的信息都被列出 。
看了以上的几个语法 , 你是不是感觉跟对表的操作很相象,那你就想对了 , 他们确实是很相似
的 。带着一份激动心情我们继续往下看,你会发现很简单 。
Begin ... End语句
通过 begin end 可以来包含多个语句 , 每个语句以“;”结尾 。
Declare
用Declare 来声明局部变量
Declarevar_Name type defaulevaule
Delare 条件
Declarecondition_Name CONDITION FOR condition_value
调用存储过程
Call
格式:
Callsp_Name [parameter ]
这里的sp_Name必须是由 create procedure 创建的名称 。它可以通过声明的参数来传回值,
它也返回受影响的行数,在MySQL中可以通过 mysql_affected_rows() 来获得 。
流程控制语句
推荐阅读
- 角色扮演游戏一笔画完,角色扮演儿童画
- 什么测试cpu温度准,什么测试cpu温度准确率高
- 开发一个肯德基小程序,横向分析肯德基的几个小程序的合力作用
- 怎么查显卡是否二手的问题,如何看显卡是否二手
- 留言用什么获取数据php php留言管理系统
- 公园为什么不能直播了,潍坊滨海轻轨
- 拉链坏了有什么好处视频,拉链坏了该怎么办
- 直播用语音点歌叫什么手机,直播用语音点歌叫什么手机好
- vb.net圆 vbnet圆角按钮