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

    创建封装

    CREATE PROCEDURE p1() 
    BEGIN
        INSERT INTO goods VALUES(null,'寒舍',50);    
        SELECT * FROM goods;
    END

    使用封装

    CALL p1();

    传参创建带有参数的封装

    #入参IN、出参OUT、出入参OUTIN
    CREATE PROCEDURE p2(IN i INT,INOUT names VARCHAR(50)) 
    BEGIN
        UPDATE goods SET name=names WHERE id=i;
        SELECT names;
    END

     使用带有参数的封装,出参传参必须先赋个值

    SET @names='大鹅';
    CALL p2(4,@names);

     将查询到的值赋值给其他,INTO关键字可以将前面字段的查询结果执行给INTO后面的变量

    SELECT 要查询的值 INTO 要赋的值 FROM ...

    控制--创建带有参数和条件的封装

    CREATE PROCEDURE p3(IN flag CHAR(5),IN nums INT)
    BEGIN
        IF flag='true' THEN SELECT * FROM goods WHERE num<nums;
        ELSEIF flag='false' THEN SELECT * FROM goods WHERE num>nums;
        ELSE SELECT * FROM goods;
        END IF;
    END 

     使用

    CALL p3('false',20);

    循环--创建一个计算1到100的和的封装

    #计算1到100的和
    CREATE PROCEDURE p4(IN n INT,OUT m INT)
    BEGIN
        DECLARE i INT DEFAULT 0;
        DECLARE sums INT;
        SET sums=0;
        WHILE i<=n DO
            SET sums=sums+i;
            SET i=i+1;
        END WHILE;
        SET m=sums;
    END

    运行此封装

  • 相关阅读:
    【nodejs】使用Node.js实现REST Client调用REST API
    [Groovy] Groovy && JNI
    一些很实用的Maven Plugins
    秋天到了
    今天头好疼
    想起那个人的时候
    不知道标题
    生活让我懂得
    显示实现接口和实现接口
    Foreach原理
  • 原文地址:https://www.cnblogs.com/start20180703/p/10353811.html
Copyright © 2011-2022 走看看