1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
create procedure p1() select 1;
flush status;
show status like 'handler_read_key';
Variable_name Value
Handler_read_key 0
call p1;
1
1
show status like 'handler_read_key';
Variable_name Value
Handler_read_key 1
call p1;
1
1
show status like 'handler_read_key';
Variable_name Value
Handler_read_key 1
set global stored_program_cache=0;
call p1;
1
1
show status like 'handler_read_key';
Variable_name Value
Handler_read_key 2
call p1;
1
1
show status like 'handler_read_key';
Variable_name Value
Handler_read_key 3
drop procedure p1;
set global stored_program_cache=default;
create procedure pr(i int) begin
create table t1 (a int, b int);
if (i = 1) then alter table t1 drop a;
else alter table t1 drop b;
end if;
select * from t1;
drop table t1;
end |
call pr(1);
b
call pr(2);
ERROR 42S22: Unknown column 'test.t1.b' in 'field list'
drop table t1;
set global stored_program_cache=0;
call pr(1);
b
call pr(2);
a
drop procedure pr;
set global stored_program_cache=default;
|