亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
南通市| 渭南市| 台中市| 大悟县| 无锡市| 京山县| 黄骅市| 松江区| 中西区| 巴林右旗| 柳河县| 利辛县| 建湖县| 福泉市| 汝城县| 乌苏市| 申扎县| 陆川县| 衡阳县| 霍邱县| 沧州市| 太康县| 加查县| 洪洞县| 万年县| 伊通| 沈丘县| 佛冈县| 定西市| 克拉玛依市| 淮滨县| 始兴县| 彭阳县| 玛多县| 察哈| 凭祥市| 平湖市| 通州市| 鄂托克前旗| 康保县| 安多县|