触发器的表间约束

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:09:51
1. 创建建数据库Emp_Manage,包含如下两个表:
(1)Employee表,属性及要求如下:
Emp_id 字符型(8),唯一标识员工
Emp_name 变长字符型(20)
Sex 字符型(1),只能取值M或F
Age 数值型(2),要求取值在20岁和65岁之间
Enroll_Data 日期型,缺省值取当天时间,精确到天
Title 字符型(1/),为担任的职务(头衔),要求不能出现Title_Sal表中没有的头衔
Depart 字符型(2),所在部门
Dep_Manager 字符型(8),部门经理id号,要求必须是本单位员工
Salary 货币型,要求符合所任职务的薪金标准
(2)Title_Sal表,属性如下:(描述不同职务的薪金标准)
Title 字符型(1)
Min_Sal 货币型,工资最低值
Max_Sal 货币型,工资最高值
2. 编写触发器程序,保证Employee表中员工的工资(Salary)符合Title_Sal表对该职务员工工资标准的要求。
第2个怎么写??
Employee中新增加的数据中Salary的标准在两表之间由Title联系,好象没实现吧

create trigger tr1
on Employee
for insert,update
as
declare @id varchar(8)
declare @title varchar(1)
declare @s,@m,@i money
select @id=Emp_id,@Title=Title,@s=Salary from inserted
select @m=Max_Sal,@i=Min_Sal from Title_Sal where Title=@Title
if @s<@i or @s>@m
delete from Employee where Emp_id=@id
GO

看都看不懂