题目:输出9*9口诀。
程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列
drop procedure if exists jiujiu;
create PROCEDURE jiujiu ( )
begin
declare i int DEFAULT 1;
declare j int DEFAULT 1;
declare s VARCHAR(500) ;
create TEMPORARY table jj
(
id int,
`1` varchar(100),
`2` varchar(100),
`3` varchar(100),
`4` varchar(100),
`5` varchar(100),
`6` varchar(100),
`7` varchar(100),
`8` varchar(100),
`9` varchar(100)
);
while i<=9 do
set j=1;
insert into jj(id) values(i);
while j<=i do
set s=CONCAT('update jj set `',j,'` = ''',i,'*',j,'=',i*j,''' where id=',i);
set @sql =s;
prepare stmt from @sql;
execute stmt;
deallocate prepare stmt;
set j=j+1;
end while;
set i=i+1;
end WHILE;
select * from jj;
drop TEMPORARY table if exists jj;
end;