View difference between Paste ID: 7tZ1cZft and xebLEaAA
SHOW: | | - or go back to the newest paste.
1
drop table if exists question;
2
drop table if exists answer;
3
create table question(Question text, score int);
4
create table answer(answer text, score int);
5
6
drop procedure if exists Searching_Answers_Question_g;
7
8
delimiter //
9
create procedure Searching_Answers_Question_g( in inpute char (200))
10
11
begin
12
declare done int default false;
13
declare done1 int default false;
14
declare a char(200);
15
declare b int;
16
declare c char(200);
17
declare d int;
18
19
declare cur1 cursor for (select body, score from (select post_id from (select * from (select post_id as parent_id from (select * from post_tags 
20
where match(tag_name) against(inpute IN BOOLEAN MODE) ) as t 
21
natural join post
22
where match(post.title) against(+inpute IN BOOLEAN MODE)
23
and match(post.body) against(inpute in natural language mode)
24
order by post.score desc)as N  natural join answer) as S natural join post 
25
group by parent_id
26
having max(post.score)) as ok natural join post);
27
28
declare cur2 cursor for(select body, score from (select parent_id as post_id from (select * from (select post_id as parent_id from (select * from post_tags 
29
where match(tag_name) against(inpute IN BOOLEAN MODE) ) as t 
30
natural join post
31
where match(post.title) against(+inpute IN BOOLEAN MODE)
32
and match(post.body) against(inpute in natural language mode)
33
order by post.score desc)as N  natural join answer) as S natural join post 
34
group by parent_id
35
having max(post.score)) as ok natural join post);
36
37
declare continue handler for not found set done = true;
38
39
open cur1;
40
	read_loop: loop
41
		fetch cur1 into a, b;
42
		insert into answer values (a,b);
43
		if done then
44
			leave read_loop;
45
		end if;
46
	end loop;
47
close cur1;
48
49
open cur2;
50
	read_loop: loop
51
		fetch cur2 into c, d;
52
        insert into question values (c,d);
53
		if done then
54
			leave read_loop;
55
		end if;
56
	end loop;
57
close cur2;
58
59
select * from question;
60
select * from answer;
61
62
drop table if exists question;
63
drop table if exists answer;
64
65
end; 
66
//delimiter ;
67
68
-- call Searching_Answers_Question_g('python'); 
69
call Searching_Answers_Question_g('how to program in python');