批量清除TABLE

IF EXISTS (SELECT name FROM sysobjects WHERE name='DROPTABLE')
    
DROP PROCEDURE DROPTABLE
GO
CREATE PROCEDURE DROPTABLE
    
@key char(20)
AS
DECLARE
    
@name VARCHAR(20)
BEGIN
    
DECLARE DBNAMES CURSOR FOR 
        
SELECT 
            name
        
FROM sysobjects
        
WHERE type='U' AND name like 'INVM%'

    
OPEN DBNAMES

    
--取值
    FETCH NEXT FROM DBNAMES 
    
INTO @name

    
WHILE (@@FETCH_STATUS = 0)
    
BEGIN
        
EXEC ('DROP TABLE ' + @name)

        
--取下一笔
        FETCH NEXT FROM DBNAMES 
        
INTO @name
    
END

    
--关闭游标
    CLOSE DBNAMES
    
DEALLOCATE DBNAMES
END
GO

EXEC DROPTABLE 'AST'
posted @ 2008-07-25 13:02  威尼斯的夏天  阅读(199)  评论(0编辑  收藏  举报