SQL Server批量删除表,视图,存储过程等数据库元素
2012-07-09 14:01
239 查看
--第一步,读取所有视图 select identity(int,1,1) flag,[name] names into #tmp from sysobjects where crdate>'2012-07-09' -- 执行上一步之后再执行下面: --第二步循环删除 declare @tb varchar(1000) ,@a int,@b int,@sql varchar(8000) select @a=min(flag),@b=max(flag) from #tmp while @a<=@b begin select @tb=names from #tmp where flag=@a set @sql='drop function '+@tb exec(@sql) set @a=@a+1 end --最后别忘记删除临时表 DROP TABLE #tmp select * from sysobjects where crdate>'2012-07-09'
根据需要删除的内容过滤 和更改 第12行代码
sysobjects
系统对象表。 保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等
sysobjects 重要字段解释:
sysObjects (
Name sysname, --object 名称
id int, --object id
xtype char(2), -- object 类型
type char(2), -- Object 类型(与xtype 似乎一模一样? 有点郁闷…)
uid smallint, -- object 所有者的ID
... --其他的字段不常用到。
)
注:需要解释的是 xtype 和type 是一模一样的,他的数据为:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
该表中包含该数据库中的所有对象,如有那些表 存储过程 视图 等信息
相关文章推荐
- sql批量操作数据库,删除表,删除数据库,删除存储过程,删除视图
- 在数据库开发过程中,数据库、表、字段、视图、存储过程等的命名规则
- 通过数据库事务删除记录的存储过程
- 一次性删除数据库所有表和所有存储过程 SQL语句
- sql server查询数据库中所有包含某文本的存储过程、视图和函数的SQL
- 删除与恢复扩展存储过程 SQL 2000数据库
- 删除与恢复扩展存储过程 SQL 2000数据库
- SQL server 数据库危险存储过程删除与恢复
- 数据库中视图、索引、存储过程的作用
- SQL SERVER 判断是否存在并删除某个数据库、表、视图、触发器、储存过程、函数
- SQLserver 数据库危险存储过程删除与恢复方法
- sql server 删除所有表、视图、存储过程
- 删除数据库的所有存储过程、主键、外键、索引等
- 一次性删除数据库所有表和所有存储过程 SQL语句
- 数据库视图、索引、存储过程优缺点
- SQLserver 数据库危险存储过程删除与恢复方法
- 删除数据库所有存储过程的SQL语句
- 数据库备份和删除旧文件 存储过程
- mysql简单存储过程范例之遍历数据库生成视图
- SQL server 数据库危险存储过程删除与恢复