乱码乱a∨中文字幕,在线免费激情视频,亚洲欧美久久夜夜潮,国产在线网址

  1. <sub id="hjl7n"></sub>

    1. <sub id="hjl7n"></sub>

      <legend id="hjl7n"></legend>

      當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  數(shù)據(jù)庫(kù) >  正文

      MySQL中觸發(fā)器和游標(biāo)的介紹與使用

       2021-03-17 17:26  來(lái)源: 腳本之家   我來(lái)投稿 撤稿糾錯(cuò)

        阿里云優(yōu)惠券 先領(lǐng)券再下單

      這篇文章主要給大家介紹了關(guān)于MySQL中觸發(fā)器和游標(biāo)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

      觸發(fā)器簡(jiǎn)介

      觸發(fā)器是和表關(guān)聯(lián)的特殊的存儲(chǔ)過(guò)程,可以在插入,刪除或修改表中的數(shù)據(jù)時(shí)觸發(fā)執(zhí)行,比數(shù)據(jù)庫(kù)本身標(biāo)準(zhǔn)的功能有更精細(xì)和更復(fù)雜的數(shù)據(jù)控制能力。

      觸發(fā)器的優(yōu)點(diǎn):

      安全性:可以基于數(shù)據(jù)庫(kù)的值使用戶具有操作數(shù)據(jù)庫(kù)的某種權(quán)利。例如不允許下班后和節(jié)假日修改數(shù)據(jù) 庫(kù)數(shù)據(jù);

      審計(jì):可以跟蹤用戶對(duì)數(shù)據(jù)庫(kù)的操作;

      實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)完整性規(guī)則。例如,觸發(fā)器可回退任何企圖吃進(jìn)超過(guò)自己保證金的期貨;

      提供了運(yùn)行計(jì)劃任務(wù)的另一種方法。例如,如果公司的帳號(hào)上的資金低于 5 萬(wàn)元?jiǎng)t立即給財(cái)務(wù)人員發(fā)送 警告數(shù)據(jù)。

      MySQL 中使用觸發(fā)器

      創(chuàng)建觸發(fā)器

      創(chuàng)建觸發(fā)器的技巧就是記住觸發(fā)器的四要素:

      監(jiān)控地點(diǎn):table;

      監(jiān)控事件:insert/update/delete;

      觸發(fā)時(shí)間:after/before;

      觸發(fā)事件:insert/update/delete。

      創(chuàng)建觸發(fā)器的基本語(yǔ)法如下所示:

      trigger_name:觸發(fā)器的名稱;

      tirgger_time:觸發(fā)時(shí)機(jī),為 BEFORE 或者 AFTER;

      trigger_event:觸發(fā)事件,為 INSERT、DELETE 或者 UPDATE;

      tb_name:表示建立觸發(fā)器的表名,在哪張表上建立觸發(fā)器;

      trigger_stmt:觸發(fā)器的程序體,可以是一條 SQL 語(yǔ)句或者是用 BEGIN 和 END 包含的多條語(yǔ)句;

      FOR EACH ROW 表示任何一條記錄上的操作滿足觸發(fā)事件都會(huì)觸發(fā)該觸發(fā)器。

      注意:對(duì)同一個(gè)表相同觸發(fā)時(shí)間的相同觸發(fā)事件,只能定義一個(gè)觸發(fā)器。

      觸發(fā)器新舊記錄

      MySQL 中定義了 NEW 和 OLD,用來(lái)表示觸發(fā)器的所在表中,觸發(fā)了觸發(fā)器的那一行數(shù)據(jù):

      在 INSERT 型觸發(fā)器中,NEW 用來(lái)表示將要(BEFORE或已經(jīng)(AFTER)插入的新數(shù)據(jù);

      在 UPDATE型觸發(fā)器中,OLD 用來(lái)表示將要或已經(jīng)被修改的原數(shù)據(jù),NEW 用來(lái)表示將要或已經(jīng)修改為的新 數(shù)據(jù);

      在 DELETE型觸發(fā)器中,OLD 用來(lái)表示將要或已經(jīng)被刪除的原數(shù)據(jù)。

      創(chuàng)建觸發(fā)器,當(dāng)用戶購(gòu)買商品時(shí),同時(shí)更新對(duì)應(yīng)商品庫(kù)存記錄,代碼如下所示:

      創(chuàng)建觸發(fā)器,當(dāng)用戶刪除訂單時(shí),同時(shí)更新對(duì)應(yīng)商品庫(kù)存記錄,代碼如下所示:

      before 和 after 的區(qū)別

      before 在執(zhí)行語(yǔ)句之前after 在執(zhí)行語(yǔ)句之后

      當(dāng)訂單商品數(shù)量超過(guò)庫(kù)存時(shí),修改訂單數(shù)量為最大庫(kù)存:

      游標(biāo)

      游標(biāo)簡(jiǎn)介

      游標(biāo)的作用就是用于對(duì)查詢數(shù)據(jù)庫(kù)所返回的記錄進(jìn)行遍歷,以便進(jìn)行相應(yīng)的操作。游標(biāo)有下面這些特征

      游標(biāo)是只讀的,也就是不能更新它;

      游標(biāo)是不能滾動(dòng)的,也就是只能在一個(gè)方向上進(jìn)行遍歷,不能在記錄之間隨意進(jìn)退,不能跳過(guò)某些記錄;

      避免在已經(jīng)打開游標(biāo)的表上更新數(shù)據(jù)。

      創(chuàng)建游標(biāo)

      創(chuàng)建游標(biāo)的語(yǔ)法包含四個(gè)部分:

      定義游標(biāo):declare 游標(biāo)名 cursor for select 語(yǔ)句;

      打開游標(biāo):open 游標(biāo)名;

      獲取結(jié)果:fetch游標(biāo)名 into 變量名[,變量名];

      關(guān)閉游標(biāo):close 游標(biāo)名;

      創(chuàng)建一個(gè)過(guò)程 p1,使用游標(biāo)返回 test 數(shù)據(jù)庫(kù)中 student 表的第一個(gè)學(xué)生信息。代碼如下所示:

      在 test 數(shù)據(jù)庫(kù)創(chuàng)建一個(gè) student2 表,創(chuàng)建一個(gè)過(guò)程 p2,使用游標(biāo)提取 student 表中所有學(xué)生信息插入到 student2 表中。代碼如下所示:

      總結(jié)

      到此這篇關(guān)于MySQL中觸發(fā)器和游標(biāo)的文章就介紹到這了,更多相關(guān)MySQL觸發(fā)器和游標(biāo)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

      來(lái)源:腳本之家

      鏈接:https://www.jb51.net/article/207666.htm

      申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

      相關(guān)標(biāo)簽
      mysql

      相關(guān)文章

      • MySQL5.7 集群配置的步驟

        這篇文章主要介紹了MySQL5.7集群配置的步驟,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下

        標(biāo)簽:
        mysql
      • MySQL中exists、in及any的基本用法

        這篇文章主要給大家介紹了關(guān)于MySQL中exists、in及any的基本用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

        標(biāo)簽:
        mysql
      • MySQL正確修改最大連接數(shù)的3種方案

        這篇文章主要給大家介紹了關(guān)于MySQL正確修改最大連接數(shù)的3種方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

        標(biāo)簽:
        mysql
      • 教你怎么在Windows系統(tǒng)上手動(dòng)搭建MySql數(shù)據(jù)庫(kù)

        1.已經(jīng)購(gòu)買好的騰訊云輕量應(yīng)用服務(wù)器。2.作者本次演示使用的系統(tǒng)是WindowsServer2019,其他windows版本也可以,操作流程大同小異。3.使用Windows遠(yuǎn)程桌面連接騰訊云輕量服務(wù)器。

      • gorm操作MySql數(shù)據(jù)庫(kù)的方法

        這篇文章主要介紹了gorm操作MySql數(shù)據(jù)庫(kù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下。

      熱門排行

      信息推薦