zoukankan      html  css  js  c++  java
  • mysql 新建存储过程中容易出错的地方

    DELIMITER $$
    USE `tongliaograin`$$
    DROP PROCEDURE IF EXISTS `A_Sys_GetAdminValidate`$$
    CREATE DEFINER=`root`@`%` PROCEDURE `A_Sys_GetAdminValidate`(IN `sLoginName` VARCHAR(100),IN `sPassword` VARCHAR(100),IN `sIP` VARCHAR(100))
    BEGIN
    DECLARE nNum INT DEFAULT 0;
    DECLARE nAdminID INT DEFAULT 0;
    DECLARE slogcontent VARCHAR(100) DEFAULT "";
    SELECT * FROM sys_admin WHERE LoginName = sLoginName AND `password`=sPassword;
    SELECT COUNT(*) INTO nNum FROM sys_admin WHERE LoginName = sLoginName AND `password`=sPassword;
    IF(nNum > 0) THEN 
    SELECT CAST(AdminID AS SIGNED) INTO nAdminID FROM sys_admin WHERE LoginName = sLoginName AND `password`=sPassword;
    SET slogcontent = CONCAT('【用户登录】后台用户:',sLoginName,'IP地址为:',sIP,' 登录成功');
    CALL A_SysLog_Add(12,nAdminID,slogcontent);
    END IF;
    END$$
    
    DELIMITER ;

    1、开头和结尾需要用到 DELIMITER $$  和 DELIMITER ;

    2、存储过程参数,必须有in out  inout ,参数名必须用 “·”符号包起来,而且必须声明参数类型及其长度

  • 相关阅读:
    http2
    JMH java基准测试
    java 线程池
    线程中断
    mybatis
    JDBC 线程安全 数据库连接池
    mysql string 列类型
    剖析nsq消息队列目录
    go微服务框架go-micro深度学习-目录
    详说tcp粘包和半包
  • 原文地址:https://www.cnblogs.com/zyc19910109/p/9831087.html
Copyright © 2011-2022 走看看