zoukankan      html  css  js  c++  java
  • 9.存储过程

    存储过程procedure,类似于编程中的函数。先预编译一块很少sql语句的集合。定义形参,
    使用的时候通过传参数来调用。

    create procedure 存储过程名(形参)
    begin
    sql语句
    sql语句
    end;

    例: 写一个存储过程,可以查询所有男生的信息,再查询所有系主任的信息


    create procedure pro_a()
    begin
    select * from t_student where ssex='男';
    select * from t_man;
    end;


    mysql控制台默认是’;‘是结尾符号,如果需要写存储过程则需要改结束符号。
    delimiter #

    调用存储过程 call 存储过程名();

    根据存储过程的参数
    带参数的存储过程
    参数分3类:
    IN:表示存储过程需要给它一个值 (默认)
    OUT:表示存储过程会返回一个值
    INOUT:既可以传值进去也可以带值出来
    例:
    传入一个学生的学号,输出这个学生的信息
    create procedure pro_b(in a int)
    begin
    select * from t_student where sid = a;
    end;

    call pro_b(1202)

    传入一个班级编号和系编号,输出这个班有多少人
    create procedure pro_c(in a int,in b int)
    begin

    select count(*) from t_student where sclass=a and did = b;

    end


    例: 写一个存储过程,返回1202的年龄
    create procedure pro_d(out x int)
    begin
    select sage into x from t_student where sid = 1202;
    end

    如果使用out类型,则在调用之前需要先定义一个变量
    语法: set @x;
    call pro_d(@x)
    select @x;

    例: 传入一个系编号,返回这个系有多少人。
    create procedure pro_e(in a int,out b int)
    begin

    select count(*) into b from t_student where did = a;

    end

    例: 一个存储过程,通过sid给这个学生的分数重新赋值.
    create procedure pro_m(in a int ,in b int)
    begin

    update t_student set sscore = b where sid = a;

    end


    inout:
    传入一个学号,传出这个学生的年龄
    create procedure pro_n (inout x int)
    begin
    select sage into x from t_student where sid = x;
    end


    create procedure pro_x(in a int,in b int)
    begin
    select * from t_student limit a,b;
    end;




    //逻辑 交给java

  • 相关阅读:
    关于苹果IPhone/Ipad(IOS)开发者证书申请及安装、真机调试、发布的参考文章
    vs 关闭警告
    真机测试及布署Code Sign error问题总结
    在 Win32 Application 和 Win32 Console Application 中使用 MFC
    获取应用程序路径的区别
    js日期控件
    SQL SERVER 企业管理器 MMC 无法创建管理单元
    进程查看两利器
    用PowerDesigner逆向数据库工程时”Unable to list the table"错误的解决方法
    SQL 附加无日志数据库
  • 原文地址:https://www.cnblogs.com/makalochen/p/10656597.html
Copyright © 2011-2022 走看看