删除多个表

2009-4-2 16:08:04 by sun

一直想用 drop table 删除多个表,以前捣鼓一阵,没有成功。别人给了个用游标的,我一听游标就头大了。大学时学的东西,现在只知道有个这么个名词了。干什么的都忘记了。

直到昨天,翻开大学时的笔记,弄明白的了游标的含义。还有个例子,就在MSSql中敲了起来,可是mssql的和Oracle的不一样啊。最后在同事的权利配合下,终于搞出来了。

 
//选择数据库
 
USE DataName
 
//声明一个游标
DECLARE @name VARCHAR(128);
 
//从sysobjects 表中查找到符合条件的要删除的表
 
DECLARE  cursor_name cursor FOR SELECT name FROM dbo.sysobjects WHERE TYPE='u' AND name LIKE 'Data_%20%' AND RIGHT(name,10) < '2009-01-01' ;
//打开游标
OPEN cursor_name;
 
// 从游标中fetch 信息
fetch NEXT FROM cursor_name  INTO @name;
while (@@fetch_status = 0)
BEGIN
 
//执行删除表
EXEC('drop table "' + @name + '"');
fetch NEXT FROM cursor_name INTO @name;
END
 
//关闭游标
close cursor_name;
deallocate cursor_name;

随机文章:

防水工程已初步完成
防水工程已初步完成

又听到她的笑声
又听到她的笑声

firefox v4 放出来了
firefox v4 放出来了

域名又续费了
域名又续费了

游戏服务器磁盘整列出错
游戏服务器磁盘整列出错

wordpress 不统计自己的浏览
wordpress 不统计自己的浏览