删除数据库中所有存储过程和函数的sql语句
生活随笔
收集整理的这篇文章主要介绍了
删除数据库中所有存储过程和函数的sql语句
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
-删除数据库中所有存储过程和函数的sql语句
USE [TmpDb]
SELECT IDENTITY( INT,1,1 ) flag ,
[name] NAMES,xtype
INTO #tmp
FROM sysobjects
WHERE xtype = 'tf'
OR xtype = 'fn'
OR xtype = 'p'
DECLARE @tb VARCHAR(1000) ,
@type NVARCHAR(2),
@a INT ,
@b INT ,
@sql VARCHAR(8000)
SELECT @a = MIN(flag) ,
@b = MAX(flag)
FROM #tmp
WHILE @a <= @b
BEGIN
SELECT @tb = NAMES,@type=xtype
FROM #tmp
WHERE flag = @a
IF @type='p'
BEGIN
SET @sql = 'drop Procedure ' + @tb
END
ELSE
BEGIN
SET @sql = 'drop FUNCTION ' + @tb
END
PRINT @sql
EXEC(@sql)
SET @a = @a + 1
END
DROP TABLE #tmp
USE [TmpDb]
SELECT IDENTITY( INT,1,1 ) flag ,
[name] NAMES,xtype
INTO #tmp
FROM sysobjects
WHERE xtype = 'tf'
OR xtype = 'fn'
OR xtype = 'p'
DECLARE @tb VARCHAR(1000) ,
@type NVARCHAR(2),
@a INT ,
@b INT ,
@sql VARCHAR(8000)
SELECT @a = MIN(flag) ,
@b = MAX(flag)
FROM #tmp
WHILE @a <= @b
BEGIN
SELECT @tb = NAMES,@type=xtype
FROM #tmp
WHERE flag = @a
IF @type='p'
BEGIN
SET @sql = 'drop Procedure ' + @tb
END
ELSE
BEGIN
SET @sql = 'drop FUNCTION ' + @tb
END
PRINT @sql
EXEC(@sql)
SET @a = @a + 1
END
DROP TABLE #tmp
总结
以上是生活随笔为你收集整理的删除数据库中所有存储过程和函数的sql语句的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 酷狗音乐盒2010
- 下一篇: sqlserver中无ldf文件附加数据