注册 登录
编程论坛 SQL Server论坛

这个触发器怎么写?

baijian710 发布于 2007-12-03 17:11, 998 次点击

[align=left]

[/align]

[align=left]表结构如上图。表数据如下图。

[/align]

[align=center]

[/align]

[align=left]

[/align]

[align=left]创建触发器,使得:员工换工作(即员工的[font=Times New Roman]job_id[/font]改变)[font=Times New Roman],[/font]若该员工的[font=Times New Roman]job_lvl<[/font]他的新工作要求的[font=Times New Roman]min_lvl,[/font]则把他的[font=Times New Roman]job_lvl [/font]置为[font=Times New Roman] min_lvl[/font];若该员工的[font=Times New Roman]job_lvl>[/font]他的新工作要求的[font=Times New Roman]max_lvl,[/font]则把他的[font=Times New Roman]job_lvl[/font]置为[font=Times New Roman]max_lvl.[/font]

[/align]
2 回复
#2
baijian7102007-12-03 17:13
表的结构,刚才没发上去
create table employee(
emp_id char(9) primary key,
fname varchar(20) not null,
minit char(1),
lname varchar(30)not null,
job_id smallint not null,
job_lvl tinyint,
pub_id char(4) not null,
hire_date datetime not null
)
--drop table jobs
create table jobs(
job_id smallint primary key,
job_desc varchar(50),
min_lvl tinyint not null,
max_lvl tinyint not null
)
insert into employee
values('PMA42628M','Paolo','M','Accorti',13,35,'0877','1992-8-27')
insert into jobs values (1,null,10,10)
insert into jobs values (2,null,200,200)
insert into jobs values (3,null,175,175)
insert into jobs values (4,null,175,225)
insert into jobs values (5,null,150,250)
insert into jobs values (6,null,140,225)
insert into jobs values (7,null,120,200)
insert into jobs values (8,null,100,175)
insert into jobs values (9,null,75,175)
insert into jobs values (10,null,75,165)
insert into jobs values (11,null,75,150)
insert into jobs values (12,null,25,100)
insert into jobs values (13,null,25,100)
insert into jobs values (14,null,25,100)
#3
XieLi2007-12-04 09:47
employee   表和 jobs 表 哪一个字段是关联啊!


不然我jobs 表插一笔资料进去是不是
employee   所有的数据进行对比,然后更新
1