在数据库里有一些数据表,如a_2,a_6,a_17....,表里有些需要删除的字段,如id。写了一个批处理,调用.sql文件执行sql语句。首先要判断这些表是否存在,然后删除指定的字段,.sql具体代码如下:
use database;
delimiter //
drop procedure if exists proc//
create procedure proc()
begin
declare i int;
set i=0;
while i<5 do
set @sqltext=concat('alter table a_',i,' drop column id');
prepare sqlstr from @sqltext;
execute sqlstr;
deallocate prepare sqlstr;
set i=i+1;
end while;
end;//
call proc;
//
drop procedure if exists proc//
delimiter ;如何在以上代码中添加判断表是否寻在,还请各位帮忙!
use database;
delimiter //
drop procedure if exists proc//
create procedure proc()
begin
declare i int;
set i=0;
while i<5 do
set @sqltext=concat('alter table a_',i,' drop column id');
prepare sqlstr from @sqltext;
execute sqlstr;
deallocate prepare sqlstr;
set i=i+1;
end while;
end;//
call proc;
//
drop procedure if exists proc//
delimiter ;如何在以上代码中添加判断表是否寻在,还请各位帮忙!
'截至2011-09-07 20:13:17 正常结帖:0
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
SELECT * FROM `information_schema`.`TABLES` a WHERE a.`TABLE_NAME`='表名' AND a.`TABLE_SCHEMA`='数据库名'