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);
  • 相关阅读:
    烟大课表PC端-不仅仅是浏览器和手机APP
    关于51单片机电子时钟精度的问题
    第十二周项目4-点、圆的关系
    Git on Windows 一些问题
    vi 的使用
    Git 账户认证的一些问题
    [Windows] win7 配置Java开发环境
    Velocity 局部定制模板
    [Storm] Storm与asm的恩恩怨怨
    [Storm] No data flows into bolt
  • 原文地址:https://www.cnblogs.com/tk55/p/10652807.html
Copyright © 2011-2022 走看看