77 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| drop table if exists t1;
 | |
| create table t1  (
 | |
| id     INTEGER AUTO_INCREMENT PRIMARY KEY,
 | |
| emp    CHAR(10) NOT NULL,
 | |
| salary DECIMAL(6,2) NOT NULL,
 | |
| l INTEGER NOT NULL,
 | |
| r INTEGER NOT NULL);
 | |
| prepare st_ins from 'insert into t1 set emp = ?, salary = ?, l = ?, r = ?';
 | |
| set @arg_nam= 'Jerry';
 | |
| set @arg_sal= 1000;
 | |
| set @arg_l= 1;
 | |
| set @arg_r= 12;
 | |
| execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
 | |
| set @arg_nam= 'Bert';
 | |
| set @arg_sal=  900;
 | |
| set @arg_l= 2;
 | |
| set @arg_r=  3;
 | |
| execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
 | |
| set @arg_nam= 'Chuck';
 | |
| set @arg_sal=  900;
 | |
| set @arg_l= 4;
 | |
| set @arg_r= 11;
 | |
| execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
 | |
| set @arg_nam= 'Donna';
 | |
| set @arg_sal=  800;
 | |
| set @arg_l= 5;
 | |
| set @arg_r=  6;
 | |
| execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
 | |
| set @arg_nam= 'Eddie';
 | |
| set @arg_sal=  700;
 | |
| set @arg_l= 7;
 | |
| set @arg_r=  8;
 | |
| execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
 | |
| set @arg_nam= 'Fred';
 | |
| set @arg_sal=  600;
 | |
| set @arg_l= 9;
 | |
| set @arg_r= 10;
 | |
| execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
 | |
| select * from t1;
 | |
| id	emp	salary	l	r
 | |
| 1	Jerry	1000.00	1	12
 | |
| 2	Bert	900.00	2	3
 | |
| 3	Chuck	900.00	4	11
 | |
| 4	Donna	800.00	5	6
 | |
| 5	Eddie	700.00	7	8
 | |
| 6	Fred	600.00	9	10
 | |
| prepare st_raise_base from 'update t1 set salary = salary * ( 1 + ? ) where r - l = 1';
 | |
| prepare st_raise_mgr  from 'update t1 set salary = salary + ? where r - l > 1';
 | |
| set @arg_percent= .10;
 | |
| set @arg_amount= 100;
 | |
| execute st_raise_base using @arg_percent;
 | |
| execute st_raise_mgr  using @arg_amount;
 | |
| execute st_raise_base using @arg_percent;
 | |
| execute st_raise_mgr  using @arg_amount;
 | |
| execute st_raise_base using @arg_percent;
 | |
| execute st_raise_mgr  using @arg_amount;
 | |
| select * from t1;
 | |
| id	emp	salary	l	r
 | |
| 1	Jerry	1300.00	1	12
 | |
| 2	Bert	1197.90	2	3
 | |
| 3	Chuck	1200.00	4	11
 | |
| 4	Donna	1064.80	5	6
 | |
| 5	Eddie	931.70	7	8
 | |
| 6	Fred	798.60	9	10
 | |
| prepare st_round from 'update t1 set salary = salary + ? - ( salary MOD ? )';
 | |
| set @arg_round= 50;
 | |
| execute st_round using @arg_round, @arg_round;
 | |
| select * from t1;
 | |
| id	emp	salary	l	r
 | |
| 1	Jerry	1350.00	1	12
 | |
| 2	Bert	1200.00	2	3
 | |
| 3	Chuck	1250.00	4	11
 | |
| 4	Donna	1100.00	5	6
 | |
| 5	Eddie	950.00	7	8
 | |
| 6	Fred	800.00	9	10
 | |
| drop table t1;
 |