您的位置:首页 > 数据库

删除数据库中所有存储过程和函数的sql语句

2013-07-30 18:47 411 查看
-删除数据库中所有存储过程和函数的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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐