zoukankan      html  css  js  c++  java
  • mysql7笔记----存储过程实例

    mysql创建存储过程

    DROP PROCEDURE IF EXISTS getCreateTimes
    /*前面要写DELIMITER $$ 或DELIMITER // */
    DELIMITER $$ 
    CREATE PROCEDURE `getCreateTimes`()
     BEGIN
      SELECT userCreateTime FROM users;
    
    END;

    mysql 存储过程有参数输入拼接

    DROP PROCEDURE IF EXISTS getTest01;
    DELIMITER $$ 
    CREATE PROCEDURE `getTest01`(
      uname VARCHAR(50),
      upass VARCHAR(50)
    )
     BEGIN
     SET @sql= 'SELECT * FROM users where 1=1';
     IF uname IS NOT NULL THEN
          SET @sql=CONCAT(@sql,' AND userName=',"'",uname,"'");
          END IF;
      IF upass IS NOT NULL THEN
          SET @sql=CONCAT(@sql,' AND password=',"'",upass,"'");
          END IF;
      PREPARE stmt FROM @sql;
       EXECUTE stmt;    
    END;
    
    CALL getTest01(NULL,"123");

    mysql存储过程含输入参数的拼接的分页 

     DROP PROCEDURE IF EXISTS getTest01;
    DELIMITER $$ 
    CREATE PROCEDURE `getTest01`(
      startPage INT,/*第startPage页,从0开始算*/
      pageSize INT,/*每页显示的记录数*/
      uname VARCHAR(50),
      upass VARCHAR(50)
    )
     BEGIN
     SET @sql= 'SELECT * FROM users where 1=1';
     IF uname IS NOT NULL THEN
          SET @sql=CONCAT(@sql,' AND userName=',"'",uname,"'");
          END IF;
      IF upass IS NOT NULL THEN
          SET @sql=CONCAT(@sql,' AND password=',"'",upass,"'");
          END IF;
          SET @sql=CONCAT(@sql,' LIMIT ',startPage*pageSize,",",pageSize);
      PREPARE stmt FROM @sql;
       EXECUTE stmt;    
    END;
    
    CALL getTest01(4,2,NULL,NULL);
  • 相关阅读:
    CSUFT 1002 Robot Navigation
    CSUFT 1003 All Your Base
    Uva 1599 最佳路径
    Uva 10129 单词
    欧拉回路
    Uva 10305 给任务排序
    uva 816 Abbott的复仇
    Uva 1103 古代象形文字
    Uva 10118 免费糖果
    Uva 725 除法
  • 原文地址:https://www.cnblogs.com/tk55/p/10652807.html
Copyright © 2011-2022 走看看