用游标删除符合条件的表 可以清空该数据库下所有表
2014-06-22 00:22
295 查看
删除所有表
以用户test为例
for example:
declare
cursor cur1 is select table_name from dba_tables where owner='TEST';
begin
for cur2 in cur1 loop
execute immediate 'drop table test.'||cur2.table_name;
end loop;
end;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在工作中,我遇到这样的一种事情,一个系统做完了,我想用原来的框架重新做另外的一个项目,这就涉及到删除除系统管理外的基他表,我的系统管理前缀是T_Sys,我就把查出要删除的表拼接成删除表字符串,然后用游标去一条条执行这些语句。
--定义游标
declare test_Cursor CURSOR for
select 'drop table '+ [name]+' ' as name from [sysobjects] where [type] = 'u' and name not like 'T_Sys%' order by [name]
--定义一个临时变量
declare @name varchar(80)
--打开游标
open test_Cursor
print 'Start'
--循环执行语句
while @@FETCH_STATUS=0
begin
--把下一条数据 取出来放到@name中
fetch next from test_Cursor into @name
--执行这条语句
EXECUTE( @name)
end
--关悼游标
close test_Cursor
--释放游标
DEALLOCATE test_Cursor
print 'End
以用户test为例
for example:
declare
cursor cur1 is select table_name from dba_tables where owner='TEST';
begin
for cur2 in cur1 loop
execute immediate 'drop table test.'||cur2.table_name;
end loop;
end;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在工作中,我遇到这样的一种事情,一个系统做完了,我想用原来的框架重新做另外的一个项目,这就涉及到删除除系统管理外的基他表,我的系统管理前缀是T_Sys,我就把查出要删除的表拼接成删除表字符串,然后用游标去一条条执行这些语句。
--定义游标
declare test_Cursor CURSOR for
select 'drop table '+ [name]+' ' as name from [sysobjects] where [type] = 'u' and name not like 'T_Sys%' order by [name]
--定义一个临时变量
declare @name varchar(80)
--打开游标
open test_Cursor
print 'Start'
--循环执行语句
while @@FETCH_STATUS=0
begin
--把下一条数据 取出来放到@name中
fetch next from test_Cursor into @name
--执行这条语句
EXECUTE( @name)
end
--关悼游标
close test_Cursor
--释放游标
DEALLOCATE test_Cursor
print 'End
相关文章推荐
- 用游标删除所有符合条件的表
- postgresql数据库使用函数查询所有符合条件的表名,以及删除所有查询到的表的数据
- 批量删除数据库中所有表的记录(清空数据库)
- 勤于思考:游标删除数据库所有表数据
- mysql遍历所有表,删除符合条件的记录的存储过程
- 批量删除数据库中所有表的记录(清空数据库)
- mssql数据库游标批量修改符合条件的记录
- 使用函数查询符合条件的表,并清空表数据,或者删除表
- SQL Server 清空或删除所有数据库表中的数据
- 游历数据库内所有名字符合条件的表
- mssql数据库游标批量改动符合条件的记录
- 清空数据库中的所有用户表(删除数据库中的表)
- js的一个选择数组中所有符合条件的元素并删除的方法
- 用游标删除清空数据库
- 写了一个针对一个的所有表进行的存储过程!可以方便的清空数据库!
- 还原Wss3.0内容数据库时遇到:"ComputerName\Microsoft##SSEE 上的 WSS_Content 包含用户定义的架构。数据库在能够使用之前必须为空。请删除所有表、存储过程以及其他对象,或使用其他数据库。 " 的提示,无法加载内容数据库
- 求助:怎样可以在下拉式菜单中列出数据库中所有关于该列的项?
- 将符合条件的文档从一个库拷贝到另一个库,并将文档从原库删除,压缩原库
- 使用SQL语句清空数据库所有表的数据