用sql serve语句为Teachers表创建一触发器,并给出正反实例的SQL语句:男职工年龄不能超过60岁,女职工职称是“教授”的年龄不能超过60岁,其他女职工年龄不能超过55岁
时间: 2024-03-23 18:43:57 浏览: 39
为 `Teachers` 表创建一触发器的 SQL 语句如下:
```
CREATE TRIGGER age_limit
ON Teachers
AFTER INSERT, UPDATE
AS
BEGIN
-- 限制男职工年龄不能超过60岁
UPDATE Teachers
SET Age = 60
WHERE Gender = '男' AND Age > 60
-- 限制女职工职称是“教授”的年龄不能超过60岁
UPDATE Teachers
SET Age = 60
WHERE Gender = '女' AND Title = '教授' AND Age > 60
-- 限制其他女职工年龄不能超过55岁
UPDATE Teachers
SET Age = 55
WHERE Gender = '女' AND Title <> '教授' AND Age > 55
END;
```
正反实例的 SQL 语句如下:
正实例:
```
INSERT INTO Teachers (Name, Gender, Age, Title) VALUES ('张三', '男', 65, '副教授');
```
执行该语句后,触发器会将 `Age` 字段的值更新为 60。
反实例:
```
INSERT INTO Teachers (Name, Gender, Age, Title) VALUES ('李四', '女', 57, '讲师');
```
执行该语句后,触发器会将 `Age` 字段的值更新为 55。