成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL 存儲過程的創建方案

數據庫 MySQL
我們今天主要向大家描述的是MySQL 存儲過程的實際操作解析,如果你對其實際操作感興趣的話,相信以下的文章會給你很大的幫助。

以下的文章主要介紹的是MySQL 存儲過程的實際操作解析,我們大家都知道一個MySQL 存儲過程主要包括名字,參數列表,還有包括很多的SQL語句與SQL語句集。以下就是具體內容的描述,

創建MySQL 存儲過程:

語法:

 

  1. CREATE PROCEDURE p()  
  2. BEGIN 

 

/*此存儲過程的正文*/

 

  1. END  
  2. CREATE PROCEDURE productpricing()  
  3. BEGIN  
  4. SELECT Avg(pro_price) AS priceaverage  
  5. FROM products;  
  6. END;  
  7.  

begin…end之間是存儲過程的主體定義

MySQL的分界符是分號(;)

 

調用存儲過程的方法是:

 

CALL加上過程名以及一個括號

例如調用上面定義的MySQL 存儲過程

 

  1. CALL productpricing();  

 

哪怕是不用傳遞參數,存儲過程名字后面的括號“()”也是必須的

 

刪除存儲過程的方法是:

  1. DROP PROCUDURE productpricing; 

創建帶參數的存儲過程:

 

  1. CREATE PROCUDURE productpricing(  
  2. OUT p1 DECIMAL(8,2),  
  3. OUT ph DECIMAL(8,2),  
  4. OUT pa DECIMAL(8,2)  
  5. )  
  6. BEGIN  
  7. SELECT Min(prod_price) INTO pl FROM products;  
  8. SELECT Max(prod_price) INTO ph FROM products;   
  9. SELECT Avg(prod_price) INTO pa FROM products;  
  10. END;  
  11.  

DECIMAL用于指定參數的數據類型

OUT用于表明此值是用于從存儲過程里輸出的

 

MySQL支持 OUT, IN, INOUT

 

調用帶參數的MySQL 存儲過程:

  1. CALL productpricing(@pricelow,  
  2. @pricehigh,  
  3. @priceaverage);  

 

所有的參數必須以@開頭

 

要想獲取@priceaverage的值,用以下語句

 

SELECT @priceaverage;

 

獲取三個的值,用以下語句

 

 

  1. SELECT @pricehigh, @pricelow, @priceaverage; 

 

另一個帶IN和OUT參數的存儲過程:

 

  1. CREATE PROCEDURE ordertotal(  
  2. IN onumber INT,  
  3. OUT ototal DECIMAL(8,2)  
  4. )  
  5. BEGIN  
  6. SELECT Sum(item_price*quantity)  
  7. FROM orderitems  
  8. WHERE order_num = onumber 
  9. INTO ototal;  
  10. END;  
  11. CALL ordertotal(20005, @total);  
  12. SELECT @total; 

添加一個完整的例子:(這是一個自定義分頁的MySQL 存儲過程)

  1. DELIMITER $$  
  2. DROP PROCEDURE IF EXISTS `dbcall`.`get_page`$$  
  3. CREATE DEFINER=`root`@`localhost` PROCEDURE `get_page`(  
  4. /**//*Table name*/  
  5. tableName varchar(100),  
  6. /**//*Fileds to display*/  
  7. fieldsNames varchar(100),  
  8. /**//*Page index*/  
  9. pageIndex int,  
  10. /**//*Page Size*/  
  11. pageSize int,   
  12. /**//*Field to sort*/  
  13. sortName varchar(500),  
  14. /**//*Condition*/  
  15. strWhere varchar(500)  
  16. )  
  17. BEGIN   
  18. DECLARE fieldlist varchar(200);   
  19. if fieldsNames=''||fieldsNames=null THEN  
  20. set fieldlist='*';  
  21. else  
  22. set fieldlist=fieldsNames;   
  23. end if;  
  24. if strWhere=''||strWhere=null then  
  25. if sortName=''||sortName=null then   
  26. set @strSQL=concat('SELECT ',fieldlist,' FROM ',tableName,' LIMIT ',(pageIndex-1)*pageSize,',',pageSize);  
  27. else  
  28. set @strSQL=concat('SELECT ',fieldlist,' FROM ',tableName,' ORDER BY ',sortName,' LIMIT ',(pageIndex-1)*pageSize,',',pageSize);   
  29. end if;  
  30. else  
  31. if sortName=''||sortName=null then  
  32. set @strSQL=concat('SELECT ',fieldlist,' FROM ',tableName,' WHERE ',strWhere,' LIMIT ',(pageIndex-1)*pageSize,',',pageSize);  
  33. else  
  34. set @strSQL=concat('SELECT ',fieldlist,' FROM ',tableName,' WHERE ',strWhere,' ORDER BY ',sortName,' LIMIT ',(pageIndex-1)*pageSize,',',pageSize);   
  35. end if;  
  36. end if;   
  37. PREPARE stmt1 FROM @strSQL;   
  38. EXECUTE stmt1;  
  39. DEALLOCATE PREPARE stmt1;  
  40. END$$  
  41. DELIMITER ;  

 以上的相關內容就是對MySQL 存儲過程的介紹,望你能有所收獲。

【編輯推薦】

  1. MySQL查詢優化的5個好用方法
  2. MySQL修改表字段的實際應用代碼演示
  3. MySQL數據表中字段的批量修改與復制
  4. 恢復MySQL數據庫root密碼2方案
  5. MySQL root 密碼破解好用方案介紹
責任編輯:佚名 來源: 互聯網
相關推薦

2010-10-09 17:08:15

MySQL存儲過程

2010-06-07 15:36:36

MySQL存儲過程

2010-05-05 09:18:53

Oracle創建存儲過

2010-06-02 14:23:01

MySQL 5.0

2010-04-21 17:19:29

Oracle創建

2010-10-28 13:53:13

ORACLE存儲過程

2010-04-16 10:11:20

Oracle存儲過程

2010-10-12 11:07:34

MySQL存儲過程

2010-06-09 10:59:04

2010-06-04 19:57:09

2010-11-24 16:35:01

MYSQL命令行

2010-04-20 09:43:34

OracleDB2

2010-10-29 16:17:55

Oracle存儲過程

2018-11-05 15:14:42

MySQL編程語言技術

2010-04-23 13:45:14

Oracle存儲過程

2010-11-29 15:25:39

Sybase存儲過程

2009-09-18 10:40:05

CLR存儲過程

2010-04-15 17:45:26

Oracle存儲過程

2020-11-26 10:33:44

MySQL存儲函數

2021-10-15 06:43:11

數據庫存儲過程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频一区二区三区 | 亚洲一区成人 | 国产精品国产三级国产aⅴ中文 | 高清亚洲| 一区二区三区四区在线视频 | 久久精品国产99国产精品亚洲 | 欧美日韩中文国产一区发布 | 国产高清精品一区二区三区 | 国产视频一区二区 | 久久久久久亚洲国产精品 | 亚洲一区二区三区四区视频 | 国产精品美女久久久久久免费 | 999久久久国产精品 欧美成人h版在线观看 | 中文字幕一区二区三区四区五区 | 欧美中文在线 | 黄色大片在线视频 | 久久午夜国产精品www忘忧草 | 中文字幕在线第一页 | 91影视| 中文字幕一区二区三区在线观看 | 免费视频久久久久 | 国产伦精品一区二区三区照片91 | 欧一区 | 精品一区二区三区电影 | 国产精品久久久久久 | 国产精品a一区二区三区网址 | 亚洲在线 | 免费看a| 亚洲人久久 | 国内毛片毛片毛片毛片 | 欧美 日韩 国产 一区 | 在线观看视频一区 | 伊人网站在线 | 欧美日韩成人 | 久久久久久久久毛片 | 国产免费av在线 | 国产精品福利久久久 | 色香蕉在线 | 国产成人综合亚洲欧美94在线 | 久久精品高清视频 | 精品视频免费 |