中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

MySql觸發器update實例詳情

小云
128
2024-02-05 11:11:36
欄目: 云計算

MySQL觸發器是一種在表上執行自動化操作的特殊類型存儲過程。當指定的事件發生時,觸發器會觸發并執行定義的操作。

以下是一個MySQL觸發器的UPDATE實例的詳細說明:

假設有一個名為employees的表,包含以下列:

  • id:員工ID(主鍵)
  • name:員工姓名
  • salary:員工薪水
  • old_salary:用于存儲上次更新前的薪水

我們希望在更新員工薪水時,自動將舊薪水存儲到old_salary列中。我們可以使用以下觸發器實現:

CREATE TRIGGER update_salary_trigger
BEFORE UPDATE ON employees
FOR EACH ROW
BEGIN
    SET NEW.old_salary = OLD.salary;
END;

這個觸發器被命名為update_salary_trigger,在employees表上的每次更新操作之前觸發。BEFORE UPDATE關鍵字指定了觸發器在更新操作之前觸發。

FOR EACH ROW關鍵字指定了觸發器為每行數據都執行一次。

BEGINEND之間是觸發器的操作。在這個例子中,我們使用SET語句將舊薪水(即OLD.salary)賦值給NEW.old_salary,將更新前的薪水存儲到old_salary列中。

使用這個觸發器后,當執行以下UPDATE語句時:

UPDATE employees
SET salary = 5000
WHERE id = 1;

觸發器會在更新操作之前觸發,將原始薪水(例如4000)存儲到old_salary列中。

最終,employees表的更新后的數據如下:

| id | name  | salary | old_salary |
|----|-------|--------|------------|
| 1  | John  | 5000   | 4000       |
| 2  | Jane  | 3000   | 3000       |
| 3  | Alice | 2000   | 2000       |

這就是MySQL觸發器UPDATE實例的詳細說明。觸發器可以用于執行各種自動化操作,以滿足特定的業務需求。

0
嘉义县| 广平县| 浦东新区| 枣阳市| 莫力| 长宁县| 宜兴市| 达孜县| 咸宁市| 金秀| 中方县| 河东区| 元阳县| 铁力市| 浦东新区| 房山区| 瑞安市| 宝山区| 思茅市| 江永县| 察雅县| 海兴县| 九寨沟县| 岑巩县| 太康县| 虹口区| 伊宁县| 合江县| 乌兰浩特市| 宁陵县| 交口县| 邛崃市| 永清县| 莱芜市| 拉萨市| 环江| 福清市| 溆浦县| 吴忠市| 昌图县| 铁岭市|