MySQL存储过程,并在.net中调用

本文介绍了MySQL从5.0开始引入的存储过程功能,强调了其提高执行效率和代码封装的优点。文章对比了MySQL与其他数据库如SQL Server在存储过程语法上的异同,并提供了创建和调用存储过程的简洁示例。在调用存储过程时,需要注意MySQL特有的语法细节,如参数默认类型、BEGIN END语句和分号的使用等。最后,文章简述了在ASP.NET中如何访问和调用MySQL存储过程。
摘要由CSDN通过智能技术生成

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。

存储过程最主要优点是执行效率和SQL 代码封装。

相对于SQL Server和Oracle存储过程写法大体类似,不过有些特殊语法要注意。

最简洁的语法结构如下:

DELIMITER $$ 
CREATE
    PROCEDURE `dbbook`.`test`()  //在dbbook数据中创建名为test的存储过程
    BEGIN

    END$$


DELIMITER ;


修改存储过程:

DELIMITER $$


USE `benq_ebook`$$


DROP PROCEDURE IF EXISTS `user_buy_analyze`$$


CREATE DEFINER=`root`@`%` PROCEDURE `user_buy_analyze`(IN antype VARCHAR (10),IN datefrom VARCHAR (10),IN dateto VARCHAR (50))
BEGIN
  DECLARE sumuser INT ;
  IF antype!='rec'
  THEN
  
  SET datefrom= CONCAT(datefrom,' 00:00:00');
  SET dateto= CONCAT(dateto,' 23:59:59');
   SELECT 
         COUNT(*) INTO sumuser 
       FROM
         user_profile AS u 
       WHERE u.uid IN 
         (SELECT 
           lo.uid 
        FROM
          log_order AS lo 
        INNER JOIN log_order_book AS lob 
             ON lo.orderNo = lob.orderNo 
             AND lob.goods_type != '08'
             AND lob.b_pay_status=1
            AND lo.o_est_datetime BETWEEN datefrom AND dateto);
    END IF;  
  CASE
    antype -- 性别百分比
    WHEN 'sex' 
    THEN 
    BEGIN
      
      SELECT 
        CASE u.sex 
          WHEN 'F' 
          THEN N'女' 
          WHEN 'M' 
          THEN 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值