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; |