首頁 資料庫 mysql教程 mysql中的触发器以及存储过程的基础了解_MySQL

mysql中的触发器以及存储过程的基础了解_MySQL

Jun 01, 2016 pm 01:41 PM
觸發器

bitsCN.com mysql中的触发器以及存储过程的基础了解 触发器的基础了解: 01触发器(trigger):一触即发,就是当进行某种操作之后(或者之前),附加的一种操作就马上执行。02作用:监视某种情况并触发某种操作;03注意事项:04能监视的事件:增,删,改;能触发的事件:增,删,改;05 06监视地点:table07监视事件:insert/update/delete08触发时间:after/before09触发事件:insert/update/delete10 11#建立商品表:12    create table goods(goodsId int, name varchar(10), num int)charset utf8$13 14#建立订单表:15create table orders(ordersId int, goodsId int, num int)charset utf8$16 17#插入数据18insert into goods values(1,'猪',22),(2,'羊',19),(3,'狗',12),(4,'猫',8)$19 20#买三只羊21insert into orders values(1, 2, 3);22 23#减少羊的库存24update goods set num = num -3 where goodsId = 2;25 26#开始学着使用触发器27#监视地点:orders28#监视操作:insert29#触发操作:update30#触发时间:after31 32#创建第一个触发器33create trigger t134after insert on orders35for each row36begin37    update goods set num = num -3 where goodsId = 2;38    end$39 40#删除触发器41drop trigger t1$42 43#创建第二个触发器44create trigger t245after insert on orders46for each row47begin48    update goods set num = num - new.num where goodsId = new.goodsId;49end$50 51#创建第三个触发器52create trigger t353after delete on orders54for each row55begin    56    update goods set num = num + old.num where goodsId = old.goodsId;57end$58 59#创建第四个触发器60create trigger t461after update on orders62for each row63begin64    update goods set num = num + old.num - new.num where goodsId = old.goodsId;65end$存储过程的基础了解: 01存储过程的含义:02存储过程类似于函数,就是把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现。在封装的语句体里面,可以使用if/else, case, while等控制结构。这里面就有所谓的sql编程。03#测试表的建立及表的操作:04create table users( num int, name varchar(20), password varchar(20));05    insert into users values(1,'zwh','zwh');06insert into users values(2, 'lhy', 'lhy');07insert into users values(3, 'test', 'test');08insert into users values(4, 'test', 'test');09insert into users values(5, 'test', 'test');10insert into users values(6, 'test', 'test');11insert into users values(7, 'test', 'test');12insert into users values(8, 'test', 'test');13insert into users values(9, 'test', 'test');14insert into users values(10, 'test', 'test');15     16#查看存在的存储过程:17show procedure status;18 19#删除存在的存储过程:20drop procedure ***;21 22 23#这里先把定界符先改为$:24delimiter $25 26#建立第一个存储过程:体验一下"sql封装"27create procedure p1()28begin29    select * from users;30end$31 32#调用存储过程33call p1()$34 35#建立第二个存储过程:体验一下"参数"36create procedure p2( n int )37begin38    select * from users where num n;46    else47        select * from users where num

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何隱藏文字直到在 Powerpoint 中單擊 如何隱藏文字直到在 Powerpoint 中單擊 Apr 14, 2023 pm 04:40 PM

如何在 PowerPoint 中的任何點擊之前隱藏文本如果您希望在單擊 PowerPoint 幻燈片上的任意位置時顯示文本,那麼設置起來既快速又容易。若要在 PowerPoint 中按一下任何按鈕之前隱藏文字:開啟您的 PowerPoint 文檔,然後按一下「插入 」功能表。點選新幻燈片。選擇空白或其他預設之一。仍然在插入選單中,按一下文字方塊。在投影片上拖出一個文字方塊。點擊文字方塊並輸入您

如何在MySQL中使用PHP編寫觸發器 如何在MySQL中使用PHP編寫觸發器 Sep 21, 2023 am 08:16 AM

如何在MySQL中使用PHP編寫觸發器MySQL是一種常用的關係型資料庫管理系統,而PHP是一種流行的伺服器端腳本語言。在MySQL中使用PHP編寫觸發器可以幫助我們實現自動化的資料庫操作。本文將介紹如何使用PHP來撰寫MySQL觸發器,並提供具體的程式碼範例。在開始之前,請確保已經安裝了MySQL和PHP,並且已經建立了相應的資料庫表。一、創建PHP檔案和數據

oracle如何添加觸發器 oracle如何添加觸發器 Dec 12, 2023 am 10:17 AM

在Oracle資料庫中,您可以使用CREATE TRIGGER語句來新增觸發器。觸發器是一種資料庫對象,它可以在資料庫表上定義一個或多個事件,並在事件發生時自動執行相應的操作。

如何在MySQL中使用PHP編寫自訂觸發器和預存程序 如何在MySQL中使用PHP編寫自訂觸發器和預存程序 Sep 20, 2023 am 11:25 AM

如何在MySQL中使用PHP編寫自訂觸發器和預存程序引言:在開發應用程式時,我們經常需要在資料庫層面進行一些操作,例如插入、更新或刪除資料。 MySQL是一個廣泛使用的關聯式資料庫管理系統,而PHP是一種流行的伺服器端腳本語言。本文將介紹如何在MySQL中使用PHP編寫自訂觸發器和預存流程,並提供具體的程式碼範例。一、什麼是觸發器和預存程序觸發器(Trigg

mysql的觸發器是什麼等級的 mysql的觸發器是什麼等級的 Mar 30, 2023 pm 08:05 PM

mysql的觸發器是行級的。依照SQL標準,觸發器可以分為兩種:1、行級觸發器,對於修改的每一行資料都會啟動一次,如果一個語句插入了100行數據,將會呼叫觸發器100次;2、語句級觸發器,針對每個語句啟動一次,一個插入100行資料的語句只會呼叫一次觸發器。而MySQL中只支援行級觸發器,不支援預語句級觸發器。

如何在MySQL中使用Python編寫自訂觸發器 如何在MySQL中使用Python編寫自訂觸發器 Sep 20, 2023 am 11:04 AM

如何在MySQL中使用Python編寫自訂觸發器觸發器是MySQL中的一種強大的功能,它可以在資料庫中的表上定義一些自動執行的操作。而Python則是一種簡潔而強大的程式語言,能夠方便地與MySQL進行互動。本文將介紹如何使用Python編寫自訂觸發器,並提供具體的程式碼範例。首先,我們需要安裝並匯入PyMySQL函式庫,它是Python與MySQL資料庫進行

如何使用MySQL的觸發器實現資料的自動歸檔 如何使用MySQL的觸發器實現資料的自動歸檔 Aug 02, 2023 am 10:37 AM

如何使用MySQL的觸發器實現資料的自動歸檔引言:在現代資料管理領域,資料的自動歸檔和清理是一個重要而又常見的需求。隨著資料量的增加,保留完整的歷史資料會佔用過多的儲存資源,並且會降低查詢效能。 MySQL的觸發器提供了實現此需求的有效方法。本文將介紹如何使用MySQL的觸發器來實現資料的自動歸檔。一、什麼是MySQL的觸發器MySQL的觸發器是一種特殊的存

如何在MySQL中使用C#編寫自訂預存程序、觸發器和函數 如何在MySQL中使用C#編寫自訂預存程序、觸發器和函數 Sep 20, 2023 pm 12:04 PM

如何在MySQL中使用C#編寫自訂預存程序、觸發器和函數MySQL是一種廣泛使用的開源關係型資料庫管理系統,而C#是一種強大的程式語言,對於需要與資料庫進行互動的開發任務來說,MySQL和C#是很好的選擇。在MySQL中,我們可以使用C#來編寫自訂預存程序、觸發器和函數,來實現更靈活和強大的資料庫操作。本文將引導您使用C#編寫並執

See all articles