rendered paste bodyMYsql 5.0.45-community-nt
CREATE TABLE `emps` (
`emp_id` int(11) NOT NULL,
`emp_name` varchar(30) default NULL,
`dept_id` int(11) default NULL,
`dept_name` varchar(30) default NULL,
`salary` decimal(7,2) default NULL,
PRIMARY KEY (`emp_id`)
);
________________
insert into emps (emp_id,emp_name,dept_id,salary)
values (1,’Roger’,1,2000.00),(2,’John’,2,2500.00),(3,’Alan’,1,2100.00);
___________________
DELIMITER |
create trigger bi_emps_fer before insert on emps for each row
begin
declare newsal numeric default 0;
declare namelength, l_loop int default 0;
set namelength = length(new.emp_name);
while l_loop < namelength do
set newsal := newsal * new.salary;
set l_loop := l_loop + 1;
end while;
set new.salary = newsal;
end
|
DELIMITER ;
___________________
insert into emps values(4,'Andrew','1',null,1000);
mysql> select * from emps;
+--------+----------+---------+-----------+---------+
| emp_id | emp_name | dept_id | dept_name | salary |
+--------+----------+---------+-----------+---------+
| 1 | Roger | 1 | NULL | 2000.00 |
| 2 | John | 2 | NULL | 2500.00 |
| 3 | Alan | 1 | NULL | 2100.00 |
| 4 | Andrew | 1 | NULL | 0.00 |
+--------+----------+---------+-----------+---------+