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

MySQL存儲過程中的語法學習

數據庫 MySQL
我們今天主要介紹的是MySQL存儲過程中的語法學習,如果你對其相關的內容作有興趣的話,你就可以對以下的文章點擊觀看了。

以下的文章主要介紹的是MySQL存儲過程中的語法學習,主要內容包括名字,參數列表,與很多SQL語句的SQL語句集。以下就是具體方案的描述,希望會給你帶來一些幫助在此學習方面。

一個存儲過程包括名字,參數列表,以及可以包括很多SQL語句的SQL語句集。

創建存儲過程:

 

語法:

 

  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;  

 

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

MySQL的分界符是分號(;)
 

 

調用存儲過程的方法是:

 

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

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

 

  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;  

 

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

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

MySQL支持 OUT, IN, INOUT
 

調用帶參數的存儲過程:

 

 

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

 

所有的參數必須以@開頭

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

 

  1. 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;  

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

 

  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 游標的具體使用方案
  2. MySQL查看表結構的實際應用命令列舉
  3. 如何實現MySQL Replication 優化
  4. 實現MySQL遠程連接,不得不看
  5. asp.net 連接MySQL的實際操作流程
責任編輯:佚名 來源: 博客園
相關推薦

2009-09-10 13:54:27

LINQ語法

2015-07-07 10:43:59

Swift語法基礎

2015-07-07 10:58:29

Swift語法高級

2010-04-16 09:03:28

Oracle 存儲過程

2009-07-23 14:10:38

Hibernate J

2011-08-05 14:16:47

Objective-C 變量 方法

2011-08-18 15:19:28

XcodeObjective-C語法

2010-05-27 17:45:13

MySQL存儲過程

2010-05-31 16:57:09

2016-09-07 20:28:17

MySQL存儲數據庫

2010-11-26 16:18:13

MySQL變量定義

2011-04-11 17:28:50

oracle存儲select語句

2022-08-26 16:28:41

MySQL存儲只讀語句

2010-04-15 16:54:31

Oracle存儲過程

2010-11-12 09:18:13

SQL Server存

2017-09-01 21:25:45

MySQL存儲過程

2011-08-15 15:56:31

SQL Server

2010-10-09 16:41:54

MYSQL存儲過程

2018-10-12 11:26:13

oracle存儲語法

2018-08-28 11:40:47

存儲過程語法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品大片在线观看 | 国产精品国产成人国产三级 | 精品国产一区二区国模嫣然 | 免费影视在线观看 | 国产一区二区视频在线观看 | 精品在线观看一区二区 | 成人日韩 | 国产精品一区二区三区在线 | 精品久久精品 | 欧美中文字幕一区二区三区亚洲 | 国产欧美精品一区二区 | 国产这里只有精品 | 日韩电影免费观看中文字幕 | 久久久国产一区二区三区 | 黄a免费网络 | 欧美激情一区二区 | 亚洲精品电影网在线观看 | 精品国产18久久久久久二百 | 久久久久久成人网 | 国产精品日产欧美久久久久 | 国产精品久久久久久久久免费丝袜 | 一级毛片播放 | 国产综合网址 | 日韩国产中文字幕 | 色资源在线观看 | 黄色一级片在线播放 | 中文字幕第49页 | 欧美三级电影在线播放 | 成人黄色网址大全 | 国产精品一区久久久 | 韩国久久 | 亚洲视频在线一区 | 中国黄色毛片视频 | 国产精品久久久久久久久久免费 | 国产精品国产成人国产三级 | 农夫在线精品视频免费观看 | 蜜桃视频在线观看免费视频网站www | 日韩av电影在线观看 | 777777777亚洲妇女| 噜久寡妇噜噜久久寡妇 | 91免费高清 |