mysql存储过程的创建

  1. 注:
    (1)这里需要注意的是DELIMITER //和DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以";"为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,
    这样MySQL才会将";"当做存储过程中的代码,不会执行这些代码,用完了之后要把分隔符还原。
    (2)存储过程根据需要可能会有输入、输出、输入输出参数,这里有一个输出参数s,类型是int型,如果有多个参数用","分割开。
    (3)过程体的开始与结束使用BEGIN与END进行标识。
    这样,我们的一个MySQL存储过程就完成了,是不是很容易呢?看不懂也没关系,接下来,我们详细的讲解。
    (2). 声明分割符
    其实,关于声明分割符,上面的注解已经写得很清楚,不需要多说,只是稍微要注意一点的是:如果是用MySQL的Administrator管理工具时,可以直接创建,不再需要声明。
    (3). 参数
    MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:
    CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...])
    IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值
    OUT 输出参数:该值可在存储过程内部被改变,并可返回
    INOUT 输入输出参数:调用时指定,并且可被改变和返回

    在柯坪等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作定制网站建设,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站,成都外贸网站建设公司,柯坪网站建设费用合理。

  2. 循环插入数据

delimiter $$
drop procedure if exists test;
create procedure test (num int)
begin
declare  i int default 1;
while i<=num do
insert into test values (i,concat('test',i));
set i=i+1;
end while;
end $$
#concat 信息连接符

  1. 测试插入数据

    delimiter $$
    create procedure zy (v1 int,v2 varchar(20),v3 varchar(20))
    begin
    insert into zy values (v1,v2,v3);
    end $$

  2. 查看数据库的存储过程

    show procedure status where  db=''/name='';

  3. 调用存储

    call test(xx);

  4. 查询创建存储的脚本

    show create procedure name;


网站栏目:mysql存储过程的创建
当前路径:http://myzitong.com/article/phodhs.html