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)的使用

一下午研究了两个内容:触发器与过程.触发器是在执行某种操作(插入,更新,删除)时(前,后)进行的操作. 这个功能完全可以由C语言实现,而且更简单. mysql中触发器的使用还要涉及到变量之类的,不如用...
  • zhuchzhi
  • zhuchzhi
  • 2007年04月14日 17:01
  • 9701

Mysql存储过程的简单创建

1.1         CREATE  PROCEDURE  (创建) CREATE PROCEDURE存储过程名 (参数列表) BEGIN SQL语句代码块 END ...
  • vickyfei
  • vickyfei
  • 2012年08月24日 01:03
  • 2983

MySQL数据库中如何新建一个带参数的存储过程procedure

我们都知道,现在MySQL的版本,可以支持存储过程了。我使用的是MySQL5.5的版本。 1,创建存储过程 delimiter $ create procedure in_out...
  • reggergdsg
  • reggergdsg
  • 2016年01月05日 11:59
  • 3454

mysql无法创建存储过程(stored procedure

在mysql下 mysql> CREATE PROCEDURE myproc() BEGIN END; 出现: Error Code: 1655 Cannot create s...
  • szysmile
  • szysmile
  • 2015年03月16日 19:45
  • 782

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

MySQL存储过程语法解析 创建/调用/删除存储过程
  • sxingming
  • sxingming
  • 2016年10月14日 10:34
  • 1432

MySQL删除存储过程和函数

MySQL中使用DROP PROCEDURE语句来删除存储过程;使用DROP FUNCTION语句来删除存储函数。 基本的语法格式如下: DROP {PROCEDURE|FUNCTIO...
  • aihali
  • aihali
  • 2015年06月24日 13:39
  • 6906

MySql中创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。存储过程的优点有一箩筐。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库...
  • jiangwei0910410003
  • jiangwei0910410003
  • 2014年05月04日 10:31
  • 25860

Oracle基础学习三:过程PROCEDURE 和函数FUNCTION 的创建及调用

1.创建过程SP_STUDENT2.在SQL Plus中调用过程SP_STUDENT3.在VS程序中调用过程SP_STUDENT4.创建函数FN_ADDONE5.调用函数FN_ADDONE6.删除...
  • freeliver54
  • freeliver54
  • 2007年04月13日 15:01
  • 562

mysql存储过程创建、删除、执行

mysql存储过程 创建存储过程 创建例子一: DELIMITER $$ CREATE PROCEDURE query_user( currCID INT ) BEGIN DECLARE ...
  • caizhigui
  • caizhigui
  • 2016年11月21日 10:19
  • 466

mysql存储过程建立临时表,从别的表赋值给这个临时表

DELIMITER // CREATE PROCEDURE baseweb.test16() BEGIN     DROP TABLE d;     CREATE TEMPORARY TABL...
  • Bennett2251
  • Bennett2251
  • 2016年11月16日 21:54
  • 1461
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL中这样创建存贮过程(procedure)
举报原因:
原因补充:

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