mysql 存储过程的创建
admin
2023-05-16 05:21:56
0
  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;

相关内容

热门资讯

浙江做小程序浙江做小程序定制的... 在浙江地区,浙江做小程序浙江做小程序定制通常被企业视为连接线上业务与线下服务的技术手段。无论是零售商...
雷军说「晚安」被指营销,小米高... 7月30日晚,小米举办“澎程”技术发布会,推出全新“小米昆仑技术架构”及澎程系列增程双车。 发布会结...
雷军谈澎程全系“不挑油”,网友... 近日,小米创始人雷军在社交平台发文表示,小米澎程增程新车全系支持92号、95号、98号汽油,该内容发...
谷歌Gemini Spark智... IT之家 8 月 2 日消息,谷歌于 7 月 31 日宣布将 Gemini Spark 智能体开放给...
蓝牙耳机杀死了手机音质,这并非... 关于手机音质这事儿肯定得从苹果说起。 2016年iPhone 7发布会上,库克一脸这是勇气的表情,把...
顾客报警“大盘鸡怎么能有土豆,... 大盘鸡是不少人喜爱的大众美食,近日,上海市公安局宝山分局杨行派出所的90后社区民警陈嘉文,因为一次关...
国产机器人有触觉了,机器人的电... 如今,具身智能正在加速走进我们的生产生活。一般的机器人有视觉、能动,但并没有触觉,所以在抓取物体的时...
台积电1.4nm晶圆厂,明年4... 7月30日消息,据台媒《工商时报》报道,中科台中二期扩建园区的1.4纳米先进制程新厂建设进度明显超前...
原创 如... 一颗小行星砸向地球,到底会发生什么? 大家知道吗?其实每天都有太空碎片掉进地球大气层——超过一百吨的...
15999的荣耀新机,思考后我... 15999?荣耀疯了吧? 讲实话,这是我第一眼看到这个手机的价格的第一反应。 我一开始就是这么想的,...