灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2565回复:0

[mysql]Mysql存储过程那些事

楼主#
更多 发布于:2012-09-01 02:14


一.创建存储过程
1.基本语法:
  
Sql代码  
create procedure sp_name()  
begin  
………  
end  

2.参数传递
二.调用存储过程
1.基本语法:call sp_name()
注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递
三.删除存储过程
1.基本语法:
Sql代码  
drop procedure sp_name//  
  
2. 注意事项
(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
四。查询存储过程

Sql代码  
select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE'  
  
Sql代码  
show procedure status  
   显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
Sql代码  
show create procedure sp_name  
  
Sql代码  
show create function func_name;  
    显示某一个存储过程的详细信息
五。为变量赋值
使用SELECT …INTO语句为变量赋值

Sql代码  
SELECT col_name[,...]  INTO var_name[,...] table_expr  

例子:
Sql代码  
create procedure getMsg  
    ()  
    Begin  
    declare v_title varchar(30);  
    declare v_content varchar(100);  
    select title,content into v_title,v_content from news where artId=333;  
    select v_title,v_content;  
    End    
  

在MySQL存储过程中,可以使用SELECT …INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量。SELECT …INTO语句的语法格式如下:
col_name :要从数据库中查询的列字段名;
var_name :变量名,列字段名按照在列清单和变量清单中的位置对应,将查询得到的值赋给对应位置的变量;
table_expr :SELECT语句中的其余部分,包括可选的FROM子句和WHERE子句。


喜欢0 评分0
游客

返回顶部