用mysql对数据库salarydb的salary表创建触发器。
时间: 2024-03-25 13:39:42 浏览: 60
MySql触发器
好的,以下是用MySQL对数据库salarydb的salary表创建触发器的SQL语句:
```
CREATE TRIGGER `salary_insert` BEFORE INSERT ON `salary`
FOR EACH ROW BEGIN
DECLARE emp_id INT;
DECLARE emp_salary DECIMAL(10, 2);
SELECT salary INTO emp_salary FROM employee WHERE id = NEW.emp_id;
IF emp_salary < NEW.salary THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Salary cannot be greater than employee base salary';
END IF;
END;
```
这个触发器的作用是在salary表中插入新数据之前,检查新的薪资是否高于员工的基本薪资,如果是,则阻止插入并返回错误信息。这个触发器可以保证员工的薪资不会高于其基本薪资。
阅读全文