• mysql存储过程


    1.创建查询图书编号丶书名丶图书类别的存储过程

    --创建查询图书编号丶书名丶图书类别的存储过程
    create procedure  proc1()
    begin
    select book_id,book_name,category from bookinfo t1
    join bookcategory t2
    on t1.book_category_id=t2.category_id;
    end
    
    call proc1();

    2.设计一个存储过程,删除一个读者,并输出剩余读者的个数

    --设计一个存储过程,删除一个读者,并输出剩余读者的个数
    create procedure proc_2(in cid char(18),out num int)
    begin
    delete from readerinfo where card_id=cid;
    select count(card_id) into num from readerinfo;
    end
    
    
    select * from readerinfo;
    call proc2('20000000',@num);
    select @num;

    3.设计一个存储过程,实现交换两个数的处理

    --设计一个存储过程,实现交换两个数的处理
    create procedure proc3(inout num1 int,inout num2 int)
    begin
    declare t int default 0;--设置t变量,赋予初始值0
    set t=num1;
    set num1=num2;
    set num2=t;
    end
    
    set @n1=3;@n2=5;
    call proc3(@n1,@n2)
    select @n1,@n2;

    4.设计比较两个数的大小的存储过程

    --设计比较两个数的大小的存储过程
    delimiter //
    create procedure proc4(in num1 int,in num2 int,out result varchar(30))
    BEGIN
    if num1=num2 then
        set result='num1等于num2';
    elseif num1>num2 then
        set result='num1大于num2';
    else
        set result='num1小于num2';
    end if;
    end//
    delimiter;
    
    call(5,10,@result);
    select @result

    5.例4使用case语句

    --设计比较两个数的大小的存储过程
    delimiter //
    create procedure proc4(in num1 int,in num2 int,out result varchar(30))
    begin
    case
    when num1=num2 then set result='num1等于num2';
    when num1>num2 then set result='num1大于num2';
    else set result='num1小于num2';
    end case;
    end//
    delimiter;
    
    call(5,10,@result);
    select @result

    6.设计一个存储过程,向数据表插入100条数据的存储过程

    SELECT floor(rand()*5);--随机数
    
    create procedure proc6()
    begin 
    declare n int default 7;
    while n<107 do
        insert into bookcategory values(n,concat('图书类型',n),floor(rand()*n));
        set n=n+1;
    end while;
    end
    
    call proc6();

     7.实例【IF ELSEIF】使用

    --设计一个存储过程,实现【IF ELSEIF语句】
    create procedure procName(IN _AreaNo VARCHAR ( 20 ), IN _Sex VARCHAR ( 20 ))
    begin
    
    IF(_Sex = '') THEN
    
    ELSEIF(_Sex='')THEN

    ELSE
    END IF; end
    作者:chenze
    出处:https://www.cnblogs.com/chenze-Index/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    从官网下载mod_jk.so
    一台电脑上运行两个tomcat
    官网下载apache服务器并运行
    给tomcat7w.exe改名字
    运行tomcat7w.exe,提示:指定的服务未安装unable to open the service tomcat7
    一台电脑启动多个tomcat
    Spring和Hibernate结合的一个小例子
    spring和jdbc结合的一个小例子
    svn 文件后面显示时间和提交人
    svn 未提交的显示黑色的星*
  • 原文地址:https://www.cnblogs.com/chenze-Index/p/10055715.html
Copyright © 2020-2023  润新知