数据库开发技术触发器有关解答

1.创建触发器

例题:插入或修改工资表

DELIMITER $ CREATE

TRIGGER `staff`.`beforeinsert_payloyee` BEFORE INSERT 

ON `staff`.`payroll`

FOR EACH ROW BEGIN set new.`actualSalary`=new.`baseSalary`+new.`bonus`-new.`deductMoney`;

END$$ DELIMITER ;

 2.建立索引

例题:在员工表中依据姓名userName建立索引。

CREATE INDEX index_userName ON `employee`(`userName`);

3.创建视图

例题:建立员工部门工资视图

CREATE VIEW name

AS

SELECT `userName`,`deptName`,`baseSalary`,`actualSalary`,`bonus`,`deductMoney`

FROM`dept`,`employee`,`payroll`

WHERE `dept`.`id`=`employee`.`deptId` AND `employee`.`id`=`payroll`.`empId`

4.触发器运用

例题:利用触发器实现插入请假信息时,审核人编号自动填入请假人所在部门的部门经理编号。

CREATER tIGGER `staff`.`insert_ask_leave` BEFORE INSERT ` staff`.`ask_leave` fOR EACH ROW BEGINC LARE manangeID1 INT;E CT `manageId` INTO manangeID1 FROM `dept` WHERE `id`=(LECT `deptId` FROM `employee` WHERE `id`=new.`empId`); new.`auditId`=manangeID1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值