千家信息网

mysql 存储过程的创建

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,注:(1)这里需要注意的是DELIMITER //和DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以";"为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成
千家信息网最后更新 2026年11月03日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;

过程 存储 参数 输出 数据 输入 分隔符 代码 类型 编译 清楚 接下来 没关系 信息 关键 关键字 只是 可在 多个 完了 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技和互联网公司 互联网通讯科技 科技企业和互联网企业 猪兼强互联网科技 壕鑫互联网络科技 美国互联网黑科技 北京禾田雨橡互联网科技 时间互联网络科技 互联网科技类展会 深圳互联网科技怎么样 互联网教育科技公司vipkid 创业天下互联网科技有限公司 中国互联网有什么科技含量 互联网和黑科技的看法 厦门比较好的科技互联网公司 互联网时代的科技公司 伍佰万互联网科技怎么赚钱 智帮互联网科技公司最近动向 世界互联网科技成果奖 国产互联网科技公司 广州为想互联网科技有限公司 北京路客互联网科技有限公司 互联网科技公司做什么 中国最先进互联网科技公司 中国的互联网科技企业的崛起 山东有哪些互联网科技公司 陕西云淼互联网科技公司 广州梦谷互联网科技有限公司领导 互联网高科技行业有哪些企业 伍佰万互联网科技是干嘛的
0