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

    变量类型:

      会话变量:只在内存中存在,关闭数据库就失效

        创建:set @var_name = xx;

        查看:select @var;

      局部变量:在存储过程中使用,作用于类似于java的方法域

        创建:declare var_name [default xx];

    存储过程的使用:加快查询速度,但是可移植性非常差

      模板:

        delimiter $

        create procedure pro_name(...)

        begin

          --内容--

        end $

      不带参数,in(输入),out(输出),inout(输入输出)

      into:可以把查询语句的结果赋值给变量

      例1):查询所有用户信息

        --建立

        delimiter $

        create procedure pro_selectAll()

        begin

          select * from users;

        end $

        --使用

        call pro_selectAll();

      例2):查询id为2的用户信息

        --建立

        delimiter $

        create procedure pro_selectById(in uid int)

        begin

          select * from users where id = uid;

        end $

        --使用

        call pro_selectAll(2);

      例3):判断成绩学生平均等级

        --建立

          DELIMITER $
          CREATE PROCEDURE pro_into(OUT res VARCHAR(20))
          BEGIN
            DECLARE tem INT DEFAULT 0;
            SELECT AVG(english) INTO tem FROM student;
            IF tem < 60 THEN
              SET res = '不及格';
            ELSEIF tem < 80 THEN
              SET res = '一般';
            ELSE
              SET res = '优秀';
            END IF;
          END $

        --使用

        CALL pro_into(@str);
        SELECT @str;

  • 相关阅读:
    大数的四则运算
    整数划分问题(递归法)
    浅谈C++中内存分配、函数调用和返回值问题
    栈的模拟运用 SOJ3897 dance2
    C/C++:sizeof('a')的值为什么不一样?
    浅谈C++中指针和引用的区别
    n!的分解 soj 2666
    char *a 和char a[] 的区别(指针和数组的区别)
    错排公式的推导
    浅谈C语言中的指针
  • 原文地址:https://www.cnblogs.com/webyyq/p/6505119.html
Copyright © 2011-2022 走看看