delimiter //
create procedure 自由操作字段(in op varchar(10),in n int)
begin
declare i int default 1;
set @sqlcodeall='alter table t1 ';
if op='添加' then
while i<n do
set @sqlcodeall=concat(@sqlcodeall,'add c',cast(i as char(2)),' char(1),');
set i=i+1;
end while;
set @sqlcodeall=concat(@sqlcodeall,'add c',cast(n as char(2)),' char(1);');
elseif op='删除' then
while i<n do
set @sqlcodeall=concat(@sqlcodeall,'drop c',cast(i as char(1)),',');
set i=i+1;
end while;
set @sqlcodeall=concat(@sqlcodeall,'drop c',cast(n as char(2)),';');
else set @error1='参数错误';
end if;
end //
delimiter ;
desc t1;
call 自由操作字段('添加',40);
select @sqlcodeall;
prepare a from @sqlcodeall;
execute a;
desc t1;