zoukankan      html  css  js  c++  java
  • 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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    Oracle判断对象是否存在sql语句
    Reporting Services 4: Web Service
    C#的16位和32位MD5加密
    龙的传人Xml_javascript分页
    龙的传人——xml_javascript三级联动
    SAE学习笔记1
    java方法重载
    jquery easyui时间微调器
    django支持ajax的post方法
    easyui插件显示问题
  • 原文地址:https://www.cnblogs.com/chenze-Index/p/10055715.html
Copyright © 2011-2022 走看看