创建update触发器,当修改某雇员工资后,输出该雇员的姓名、更新前和更新后的工资。 测试:将雇员号为3003的雇员工资修改为8000
时间: 2024-02-29 07:53:10 浏览: 60
好的,这也是一个数据库方面的问题。需要在数据库中创建一个触发器,当修改雇员表中的工资时,输出该雇员的姓名、更新前和更新后的工资。具体代码如下:
```
CREATE TRIGGER update_emp_salary AFTER UPDATE ON emp
FOR EACH ROW
BEGIN
DECLARE emp_name VARCHAR(50);
DECLARE old_salary INT;
DECLARE new_salary INT;
IF NEW.empno = 3003 AND NEW.sal != OLD.sal THEN
SELECT ename INTO emp_name FROM emp WHERE empno = NEW.empno;
SET old_salary = OLD.sal;
SET new_salary = NEW.sal;
SELECT CONCAT('Employee name: ', emp_name, '; Old salary: ', old_salary, '; New salary: ', new_salary) AS 'Salary Change' FROM dual;
END IF;
END;
```
这个触发器会在每次更新emp表的记录时被触发,当更新的是雇员号为3003的雇员的工资时,就会输出该雇员的姓名、更新前和更新后的工资。
接下来就是测试了。我们可以使用以下代码将雇员号为3003的雇员工资修改为8000:
```
UPDATE emp SET sal = 8000 WHERE empno = 3003;
```
这个操作会触发上面的触发器,并输出该雇员的姓名、更新前和更新后的工资。
阅读全文