MySQL中这样创建存贮过程(procedure)

原创 2006年06月12日 20:30:00
  1. DROP PROCEDURE IF EXISTS sp_unit_by_sec_class;
  2. delimiter //
  3. CREATE PROCEDURE sp_unit_by_sec_class(DICT_ID INT,ORDER_BY INT)
  4. BEGIN
  5.     IF (ORDER_BY = 1)
  6.         THEN
  7.             SELECT * FROM
  8.             (
  9.                 SELECT e.unit_id,e.unit_price,e.cr_date,e.USER_NAME,e.unit_memo,e.unit_status
  10.                 FROM t_units e
  11.                 WHERE e.dict_id = DICT_ID
  12.                
  13.                 UNION
  14.                 SELECT c.unit_id,d.drop_fee-d.grow_fee,d.drop_date,d.USER_NAME,drop_memo,c.unit_status
  15.                 FROM t_units c
  16.                 RIGHT JOIN t_drop d ON c.unit_id = d.unit_id
  17.                 WHERE c.dict_id = DICT_ID
  18.  
  19.                 UNION
  20.                 SELECT a.unit_id,b.grow_fee,b.grow_date,b.USER_NAME,b.grow_memo,2
  21.                 FROM t_units a
  22.                 RIGHT JOIN t_grow b ON a.unit_id = b.unit_id
  23.                 WHERE a.dict_id = DICT_ID
  24.             ) t1 ORDER BY 1,3;
  25.         ELSE
  26.             SELECT * FROM
  27.             (
  28.                 SELECT e.unit_id,e.unit_price,e.cr_date,e.USER_NAME,e.unit_memo,e.unit_status
  29.                 FROM t_units e
  30.                 WHERE e.dict_id = DICT_ID
  31.                
  32.                 UNION
  33.                 SELECT c.unit_id,d.drop_fee-d.grow_fee,d.drop_date,d.USER_NAME,drop_memo,c.unit_status
  34.                 FROM t_units c
  35.                 RIGHT JOIN t_drop d ON c.unit_id = d.unit_id
  36.                 WHERE c.dict_id = DICT_ID
  37.  
  38.                 UNION
  39.                 SELECT a.unit_id,b.grow_fee,b.grow_date,b.USER_NAME,b.grow_memo,2
  40.                 FROM t_units a
  41.                 RIGHT JOIN t_grow b ON a.unit_id = b.unit_id
  42.                 WHERE a.dict_id = DICT_ID
  43.             ) t1 ORDER BY 3,1;
  44.     END IF;
  45. END
  46. ;
  47. //
  48. delimiter ;

MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法

存储过程与函数的区别  本质上没区别,执行的本质都一样。   只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。     函数是可以嵌入在sql中使用的,可以在select中调用,而存...
  • xlxxcc
  • xlxxcc
  • 2016年09月09日 13:46
  • 7010

mysql procedure 存储过程

1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库...

MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法

Mysql 的 function 和 procedure 有啥区别呢 ? 网上搜索后说 function 有返回值, procedure 无返回值。 从function 的语法角度来说确实如此, fu...

MySQL - 存储过程procedure

1.存储过程MySQL中的存储过程和SQL Server的存储过程的创建有所区别 在MySQL中,MySQL中默认的语句结束符是分号(;)。而存储过程中的SQL语句也需要使用分号来结束。为了避免冲突...

实用CREATE PROCEDURE 创建存储过程

  • 2010年06月08日 01:18
  • 914KB
  • 下载

Mysql procedure 存储过程学习,小例子

有份工作,SSH web系统需要多数据库兼容,通过Powerdesigner转换,修改下建立好表结构和索引后,发现了难题了存储过程咋办 例如有以下存储过程,转换好像还蛮麻烦的,下边是Powerdesi...

mysql 中show 命令用法详细介绍 mysql过程(procedure)的使用

a. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称 b. show databases; -- 显示mysql中所有数据...

MySQL学习笔记8:MySQL存储过程(storage procedure)

MySQL存储过程语法解析 创建/调用/删除存储过程

SQL Server中存储过程Stored Procedure创建及C#调用

存储过程就是已经编译好的、优化过的放在数据库服务器中的一些SQL语句;可供应用程序直接调用。使用存储过程有以下几个优点: 1、执行速度比普通的SQL语句快 2、便于集中控制 3、可以降低网络的通...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL中这样创建存贮过程(procedure)
举报原因:
原因补充:

(最多只允许输入30个字)