⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sp-code.result

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 RESULT
字号:
drop procedure if exists empty;drop procedure if exists code_sample;create procedure empty()beginend;show procedure code empty;Pos	Instructiondrop procedure empty;create function almost_empty()returns intreturn 0;show function code almost_empty;Pos	Instruction0	freturn 3 0drop function almost_empty;create procedure code_sample(x int, out err int, out nulls int)begindeclare count int default 0;set nulls = 0;begindeclare c cursor for select name from t1;declare exit handler for not found close c;open c;loopbegindeclare n varchar(20);declare continue handler for sqlexception set err=1;fetch c into n;if isnull(n) thenset nulls = nulls + 1;elseset count = count + 1;update t2 set idx = count where name=n;end if;end;end loop;end;select t.name, t.idx from t2 t order by idx asc;end//show procedure code code_sample;Pos	Instruction0	set count@3 01	set nulls@2 02	cpush c@03	hpush_jump 6 4 EXIT4	cclose c@05	hreturn 0 196	copen c@07	set n@4 NULL8	hpush_jump 11 5 CONTINUE9	set err@1 110	hreturn 511	cfetch c@0 n@412	jump_if_not 15(17) isnull(n@4)13	set nulls@2 (nulls@2 + 1)14	jump 1715	set count@3 (count@3 + 1)16	stmt 4 "update t2 set idx = count where name=n"17	hpop 118	jump 719	hpop 120	cpop 121	stmt 0 "select t.name, t.idx from t2 t order ..."drop procedure code_sample;drop procedure if exists sudoku_solve;create procedure sudoku_solve(p_naive boolean, p_all boolean)deterministicmodifies sql databegindrop temporary table if exists sudoku_work, sudoku_schedule;create temporary table sudoku_work(row smallint not null,col smallint not null,dig smallint not null,cnt smallint,key using btree (cnt),key using btree (row),key using btree (col),unique key using hash (row,col));create temporary table sudoku_schedule(idx int not null auto_increment primary key,row smallint not null,col smallint not null);call sudoku_init();if p_naive thenupdate sudoku_work set cnt = 0 where dig = 0;elsecall sudoku_count();end if;insert into sudoku_schedule (row,col)select row,col from sudoku_work where cnt is not null order by cnt desc;begindeclare v_scounter bigint default 0;declare v_i smallint default 1;declare v_dig smallint;declare v_schedmax smallint;select count(*) into v_schedmax from sudoku_schedule;more: loopbegindeclare v_tcounter bigint default 0;sched:while v_i <= v_schedmax dobegindeclare v_row, v_col smallint;select row,col into v_row,v_col from sudoku_schedule where v_i = idx;select dig into v_dig from sudoku_workwhere v_row = row and v_col = col;case v_digwhen 0 thenset v_dig = 1;update sudoku_work set dig = 1where v_row = row and v_col = col;when 9 thenif v_i > 0 thenupdate sudoku_work set dig = 0where v_row = row and v_col = col;set v_i = v_i - 1;iterate sched;elseselect v_scounter as 'Solutions';leave more;end if;elseset v_dig = v_dig + 1;update sudoku_work set dig = v_digwhere v_row = row and v_col = col;end case;set v_tcounter = v_tcounter + 1;if not sudoku_digit_ok(v_row, v_col, v_dig) theniterate sched;end if;set v_i = v_i + 1;end;end while sched;select dig from sudoku_work;select v_tcounter as 'Tests';set v_scounter = v_scounter + 1;if p_all and v_i > 0 thenset v_i = v_i - 1;elseleave more;end if;end;end loop more;end;drop temporary table sudoku_work, sudoku_schedule;end//show procedure code sudoku_solve;Pos	Instruction0	stmt 9 "drop temporary table if exists sudoku..."1	stmt 1 "create temporary table sudoku_work ( ..."2	stmt 1 "create temporary table sudoku_schedul..."3	stmt 95 "call sudoku_init("4	jump_if_not 7(8) p_naive@05	stmt 4 "update sudoku_work set cnt = 0 where ..."6	jump 87	stmt 95 "call sudoku_count("8	stmt 6 "insert into sudoku_schedule (row,col)..."9	set v_scounter@2 010	set v_i@3 111	set v_dig@4 NULL12	set v_schedmax@5 NULL13	stmt 0 "select count(*) into v_schedmax from ..."14	set v_tcounter@6 015	jump_if_not 39(39) (v_i@3 <= v_schedmax@5)16	set v_row@7 NULL17	set v_col@8 NULL18	stmt 0 "select row,col into v_row,v_col from ..."19	stmt 0 "select dig into v_dig from sudoku_wor..."20	set_case_expr (34) 0 v_dig@421	jump_if_not 25(34) (case_expr@0 = 0)22	set v_dig@4 123	stmt 4 "update sudoku_work set dig = 1 where ..."24	jump 3425	jump_if_not 32(34) (case_expr@0 = 9)26	jump_if_not 30(34) (v_i@3 > 0)27	stmt 4 "update sudoku_work set dig = 0 where ..."28	set v_i@3 (v_i@3 - 1)29	jump 1530	stmt 0 "select v_scounter as 'Solutions'"31	jump 4532	set v_dig@4 (v_dig@4 + 1)33	stmt 4 "update sudoku_work set dig = v_dig wh..."34	set v_tcounter@6 (v_tcounter@6 + 1)35	jump_if_not 37(37) not(`test`.`sudoku_digit_ok`(v_row@7,v_col@8,v_dig@4))36	jump 1537	set v_i@3 (v_i@3 + 1)38	jump 1539	stmt 0 "select dig from sudoku_work"40	stmt 0 "select v_tcounter as 'Tests'"41	set v_scounter@2 (v_scounter@2 + 1)42	jump_if_not 45(14) (p_all@1 and (v_i@3 > 0))43	set v_i@3 (v_i@3 - 1)44	jump 1445	stmt 9 "drop temporary table sudoku_work, sud..."drop procedure sudoku_solve;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -