zoukankan      html  css  js  c++  java
  • SQL-基础在深入(二)

    SQL-基础在深入

    SQL-存储过程_参数

    参数类表 = 参数类型+参数名字+参数数据类型

    参数类型 :

    1. in / 输入参数 (默认)

    2. out / 输出参数

      定义的参数只能在过程体内部赋值,可以把某个值传递回调用它的参数

      在存储过程外边声明用户变量 ,在将参数放入调用函数的out参数位置

    3. inout / 输入输出类型

      即是输入参数,也是输出参数

     

    sql-流程控制

    if 条件1 then
        条件1真执行sql语句;
    elseif 条件2 then
        条件2真执行sql语句;
    else
        其他情况执行sql语句;
    end if;
    
    -- -- -- -- -- -- 
    
    case 表达式
        when 表达式结果1 then 条件1真执行sql语句;
        when 表达式结果1 then 条件2真执行sql语句;
        when 表达式结果1 then 条件3真执行sql语句;
        else 其他情况执行sql语句;
    end case;

     

    SQL-循环控制

     
    -- while语句
    
        [start_while:]
        while 判断条件 do
            sql语句体;
        end while;
        [end_while;]
        
        
    -- repeat语句
    
        repeat 
            sql语句;
        until 条件 end repeat;
        
        
    -- loop语句
        
        test_loop: loop 
        --test_loop 标签名 名字自定义 ,开始标签与结束标签相同
            sql语句;
            -- sql语句中通常包含 LEAVE test_loop / 离开 ;
        end loop test_loop;

     

    游标-CURSOR

    游动的标识符,一般与循环一起使用,游标也是一张虚拟的表。

    --声明一个变量来声明 是否还有结果集 / 有 0 ; 无 1
        DECLARE done INT DEFAULT 0;
        --变量声明在游标之前
        
    --声明游标变量
        DECLARE cur CURSOR FOR select语句;
        
    --声明一个事件处理,来设置是否还有结果集
        DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
        -- 在游标声明之后声明
        
    -- 打开游标
        OPEN cur;
        
    -- 抓取数据
        FETCH cur into 自定义数据;
        --FETCH 后 游标指示位置自动向下移动一位
        -- 配合REPEAT循环语句使用 / 优点 先循环一次

     

    其他

    1. sql中给变量赋值必须要用 set

    2. SQL随机函数 RAND()

    3. SQL向下取整 FLOOR()

  • 相关阅读:
    1093 Count PAT's(25 分)
    1089 Insert or Merge(25 分)
    1088 Rational Arithmetic(20 分)
    1081 Rational Sum(20 分)
    1069 The Black Hole of Numbers(20 分)
    1059 Prime Factors(25 分)
    1050 String Subtraction (20)
    根据生日计算员工年龄
    动态获取当前日期和时间
    对计数结果进行4舍5入
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/12969578.html
Copyright © 2011-2022 走看看