萤火虫网络
0531-85551080
3G通信资讯3G中国 3G国际 3G终端 3G前沿 4G技术   3G市场动态3G话题 3G项目 3G数据 3G资料 3G技术
3G人才培训3G培训 3G认证 3G人才 3G企业 3G专家   3G网络媒体3G会展 3G增值 3G网络 3G论坛 3G媒体
  欢迎您来到3G中国资讯网!
     首页 > 3G市场动态 > 3G数据  3G论坛 3G认证   

怎样才能删除所有表中的"PROCEDURE"
( http://3g.yhc360.com   2008-2-29 10:40:39 )
 

问题:如何删除所有表的PROCEDURE

解决此问题的示例:

CREATE PROCEDURE proc_drop_all_tables()
begin
declare v_tablename varchar(50);
declare v_constname varchar(50);
declare flag int default 0;
--定义一个游标,寻找所有的外键
declare cur_constraint cursor for 
select table_name,constraint_name
from information_schema.table_constraints
where constraint_type='FOREIGN KEY'
and table_schema=(select database());
--定义一个游标,寻找所有表
declare cur_table cursor for select table_name 
from information_schema.tables
where table_type='BASE TABLE' and table_schema=( select database());
--定义一个游标,寻找所有视图
declare cur_view cursor for select table_name 
from information_schema.tables
where table_type='VIEW' and 
table_schema=( select database());
declare continue handler for not found
set flag=1;
--循环去删除所有外键
open cur_constraint;
repeat
fetch cur_constraint into v_tablename,v_constname;
if flag= 0 then
set @v_sql = concat('alter table ',v_tablename,' 
drop foreign key ',v_constname);
prepare stmt from @v_sql;
execute stmt;
end if;
until flag=1
end repeat;
close cur_constraint;
set flag=0;
--循环去删除所有视图
open cur_view;
repeat
fetch cur_view into v_tablename;
if flag=0 then
set @v_sql = concat('drop view ',v_tablename);
prepare stmt from @v_sql;
execute stmt;
end if;
until flag=1
end repeat;
set flag=0;
close cur_view;
--循环去删除所有表
open cur_table;
repeat
fetch cur_table into v_tablename;
if flag = 0 then
set @v_sql = concat('drop table ',v_tablename);
prepare stmt from @v_sql ;
execute stmt ;
end if;
until flag=1
end repeat;
deallocate prepare stmt;
close cur_table;
end;

Google
 
  最新资讯排行
顶级智能新机HTCTouchPro
500万像素渐普及LG推出800万
山寨手机入侵PPC琦基i9高配智能
江宁打造中国首个"无线谷"核心圈层
3G市场竞争门槛提高价格战不再是有
互联网巨头布局“无线搜索”迎3G时
Wi-Fi联盟让无线语音成为可能
中东和北非地区的运营商实现基础设施
伊朗手机生产厂家欢迎降低手机进口关
中国电信将自建终端公司负责移动终端
  最新培训信息
基础课程在线培训1-1
基础课程在线培训1-2
基础课程在线培训1-4
基础课程在线培训3-2
基础课程在线培训1-3
基础课程在线培训2-1
基础课程在线培训4-1
基础课程在线培训2-2
基础课程在线培训3-1

您在本站有任何疑难问题请联系贝贝QQ:329683229 晶晶QQ:292701913 欢欢QQ:531069058 迎迎QQ:627254210我们的客服人员会即时为您解!
CopyRight © 2007 3G.yhc360.com, All Rights Reserved
鲁ICP备07021078号
萤火虫旗下网站