最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

navicat中創(chuàng)建存儲過程、觸發(fā)器和使用游標的簡單實例(圖文)

 更新時間:2017年02月05日 20:12:59   投稿:mdxy-dxy  
這篇文章主要介紹了navicat中創(chuàng)建存儲過程、觸發(fā)器和使用游標的簡單實例,需要的朋友可以參考下

1、建表
首先先建兩張表(users表和number表),具體設計如下圖:
1.jpg
2.jpg

2、存儲過程
寫一個存儲過程,往users表中插入數(shù)據(jù),創(chuàng)建過程如下:
3.jpg
4.jpg
5.jpg

代碼如下

BEGIN
 #Routine body goes here...
 declare n bigint;
 set n = 201121029684;
 while n <= 201121029694
 do
 insert into users(student_ID) values(n);
 set n = n + 1;
 end while;
END

6.jpg
執(zhí)行存儲過程后可以看到users表中的數(shù)據(jù)如下:
7.jpg

整個存儲過程的編寫就完成了,當然這只是一個極為簡單的例子,僅供入門參考。

3、觸發(fā)器

在寫觸發(fā)器之前,我們先把users的數(shù)據(jù)清空

truncate table users; 

現(xiàn)在我們有兩個表,我要做的事情就是,當我往users中插入數(shù)據(jù)后,number中也相應變化:

例如,number表中有一條初始數(shù)據(jù),id=1,num=0;

當我往users中插入一條數(shù)據(jù)后,就觸發(fā)number表中的num字段就加1,也就是記錄用戶數(shù)。

下面我們來實現(xiàn)這個小小的功能。

右擊users表,選擇設計表

8.jpg
選擇觸發(fā)器選項
9.jpg
10.jpg
11.jpg

begin
 update number
 set num = (select count(*) from users) ;
end

保存后,再往users表中添加新數(shù)據(jù),再查看一下number中的數(shù)據(jù),你會神奇的發(fā)現(xiàn),number表中的數(shù)據(jù)也變了,自己動手試一下吧!

ps:存儲過程需要程序員自己去執(zhí)行,觸發(fā)器,顧名思義,自動觸發(fā)。

4、游標使用
我現(xiàn)在想做的是將student_ID字段都加上100,通過這個例子簡單展示一下游標的使用。

創(chuàng)建一個存儲過程,創(chuàng)建方式參考上面步驟。存儲過程代碼如下:

12.jpg

BEGIN
 #Routine body goes here...

 declare tmp bigint default 0;
 declare cur CURSOR FOR SELECT student_ID FROM users; -- 定義游標
 /*
 02000 發(fā)生下述異常之一: 
 SELECT INTO 語句或 INSERT 語句的子查詢的結(jié)果為空表。 
 在搜索的 UPDATE 或 DELETE 語句內(nèi)標識的行數(shù)為零。 
 在 FETCH 語句中引用的游標位置處于結(jié)果表最后一行之后。


 */
 declare CONTINUE HANDLER FOR SQLSTATE '02000' set tmp = 0; 


 OPEN cur; -- 打開游標
 FETCH cur INTO tmp; -- 游標向下走一步


 WHILE(tmp != 0)
 DO 
 select tmp; -- 將tmp打印出來,會發(fā)現(xiàn)tmp就像一個指針,一開始指向第一行,游標走一步,則指向下一行記錄


 UPDATE users
 SET student_ID = tmp + 100
 WHERE student_ID = tmp;
 FETCH cur INTO tmp;
 END WHILE;

 CLOSE cur; -- 關(guān)閉游標
END

執(zhí)行上面的存儲過程,你會發(fā)現(xiàn),users中的數(shù)據(jù)如你所愿的發(fā)生了變化。

相關(guān)文章

  • MySQL數(shù)據(jù)庫查看日志操作指南

    MySQL數(shù)據(jù)庫查看日志操作指南

    這篇文章主要介紹了MySQL數(shù)據(jù)庫查看日志操作的相關(guān)資料,文中講了MySQL中的四種日志,分別是錯誤日志、二進制日志、查詢?nèi)罩竞吐樵內(nèi)罩?需要的朋友可以參考下
    2025-02-02
  • MySQL的DELETE(刪除數(shù)據(jù))用法解讀

    MySQL的DELETE(刪除數(shù)據(jù))用法解讀

    本文將詳細介紹DELETE語句的基本語法、高級用法、性能優(yōu)化策略以及注意事項,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 5個MySQL GUI工具推薦,幫助你進行數(shù)據(jù)庫管理

    5個MySQL GUI工具推薦,幫助你進行數(shù)據(jù)庫管理

    這篇文章主要介紹了5個MySQL GUI工具推薦,幫助大家更好的進行MySQL數(shù)據(jù)庫管理,感興趣的朋友可以了解下
    2020-08-08
  • Mac上安裝MySQL過程分享

    Mac上安裝MySQL過程分享

    這篇文章主要介紹了Mac上安裝MySQL過程分享,本文共分4步完成,簡單易懂,需要的朋友可以參考下
    2014-11-11
  • mysql數(shù)據(jù)庫分區(qū)的使用

    mysql數(shù)據(jù)庫分區(qū)的使用

    MySQL分區(qū)技術(shù)通過將大表分割成多個較小片段,提高查詢性能、管理效率和數(shù)據(jù)存儲效率,本文就來介紹一下mysql數(shù)據(jù)庫分區(qū)的使用,感興趣的可以了解一下
    2025-01-01
  • MySQL PHP語法淺析

    MySQL PHP語法淺析

    在本篇文章里小編給大家分享了關(guān)于MySQL PHP語法的相關(guān)知識點,需要的朋友們學習參考下。
    2019-02-02
  • mysql表的內(nèi)連和外連實戰(zhàn)記錄

    mysql表的內(nèi)連和外連實戰(zhàn)記錄

    在開發(fā)中我們的業(yè)務需求有時候是復雜的,多張表聯(lián)合查詢的時候是有多種方式的,面對不同的需求,靈活使用不同的表連接方式,這篇文章主要給大家介紹了關(guān)于mysql表內(nèi)連和外連的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Mysql5.7修改root密碼教程

    Mysql5.7修改root密碼教程

    本文給大家分享的是個人在使用mysql5.7修改root密碼的時候遇到的問題,以及解決方法,推薦給有相同需求的小伙伴參考下。
    2016-02-02
  • MySQL中預處理語句prepare、execute與deallocate的使用教程

    MySQL中預處理語句prepare、execute與deallocate的使用教程

    這篇文章主要介紹了MySQL中預處理語句prepare、execute與deallocate的使用教程,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mysql具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-08-08
  • MySQL獲取當前時間的多種方式總結(jié)

    MySQL獲取當前時間的多種方式總結(jié)

    負責的項目中使用的是mysql數(shù)據(jù)庫,頁面上要顯示當天所注冊人數(shù)的數(shù)量,獲取當前的年月日,下面這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL獲取當前時間的多種方式,需要的朋友可以參考下
    2023-02-02

最新評論

沅陵县| 嘉禾县| 威远县| 揭阳市| 闽清县| 渝中区| 汉沽区| 牡丹江市| 天镇县| 齐河县| 满城县| 且末县| 西乌珠穆沁旗| 黄浦区| 高雄县| 门头沟区| 铁岭市| 鄂尔多斯市| 磴口县| 富宁县| 马尔康县| 唐海县| 西平县| 汉中市| 澄迈县| 鹰潭市| 东乌珠穆沁旗| 佛教| 玉门市| 稻城县| 皋兰县| 辽源市| 库尔勒市| 东台市| 志丹县| 宜都市| 麻栗坡县| 西宁市| 仁怀市| 岳池县| 晋州市|