All pastes #972306 Raw Edit

Something

public text v1 · immutable
·published 2008-04-05 10:16 UTC
rendered paste body
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 |
+--------+----------+---------+-----------+---------+