zoukankan      html  css  js  c++  java
  • MYSQL中创建存储过程实现向表中循环插入数据

    首先在test数据库中先创建一个表test:

    CREATE TABLE test(
    ID INT PRIMARY KEY AUTO_INCREMENT ,
    test_name VARCHAR(20),
    test_num INT);

    现在,我们来创建一个存储过程,实现向表里循环插入数据;

    delimiter $                                                           /*(意思是mysql语句的结尾换成以$结束,mysql默认是;结束)*/

    create procedure pro1(in n int)                               /*创建一个名为pro1的存储过程,调用存储过程时,可以通过输入参数n来指定循环的次数*/

    begin                                                                 /*开始*/

    declare num001 , num002 int;                                /*定义num001和num002的数据类型为int*/

    set num001 = 1 , num002 = 10;                             /*设置num001=1,num002=10*/

    while n - num001 >= 0 do                                     /*当num001小于等于n时执行下面的操作*/

    insert into test(test_name,test_num)

    values(concat("zhangsan" , num001) , num002);        /*在test表中插入数据test_name=zhangsan+num001,test_num=num002,contat意为将张三和num001连起来*/

    set num001=num001+1,num002=num002*2;             /*设置num001=num001+1,num002=num002*2*/

    end while;                                                          /*当num>100时,不再执行插入操作循环结束*/

    end $                                                                /* 存储过程结束*/

    delimiter ;                                                          /*(mysql语句的结尾换成以;结束)*/

    执行存储过程:

    call pro1(100) ;

    执行成功后,数据如下所示:

     

     
    如果想查询test数据库存在哪些存储过程,则执行:
    select * from mysql.proc where db = 'test' and type = 'procedure'  ;
    结果如下图所示:
     
  • 相关阅读:
    《命运赋》
    CSS3中的 transform (变形)+Transition(转换) = animation(动画)
    c#进阶之泛型
    正则表达式运用
    查询某时间段的统计数据
    很好用的request转换为实体方法还有判断实体所有参数不能为空的方法
    http 协议集合,超级简单
    今天无意发现jquery的一个以前的误导
    IFRAM随内部长宽高变化
    就最近学习MVC4.0的页面用法学到的东西
  • 原文地址:https://www.cnblogs.com/wangjikun/p/5685489.html
Copyright © 2011-2022 走看看