MYsql 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 | +--------+----------+---------+-----------+---------+