| 
 | 
 
 
本来想一个一个删除的,打开数据库一看那么多的表和存储过程,就放弃这种笨办法了,于是决定用SQL语句来搞定。代码如下:  
复制代码代码如下:  
-----------------------------删除数据表---------------------  
DECLARE @au_lname VARCHAR(40),@SQLString NVARCHAR(500)  
DECLARE tb CURSOR FOR  
SELECT name FROM sysobjects WHERE xtype='U' and name like 'dnt%'  
OPEN tb  
-- Perform the FIRST FETCH.  
FETCH NEXT FROM tb INTO @au_lname  
-- CHECK @@FETCH_STATUS TO see IF there ARE ANY more ROWS TO FETCH.  
WHILE @@FETCH_STATUS = 0  
BEGIN  
-- This IS executed AS long AS the previous FETCH succeeds.  
FETCH NEXT FROM tb INTO @au_lname  
SET @SQLString='DROP TABLE '+ @au_lname  
EXEC sp_executesql @SQLString  
--DROP TABLE @au_lname  
END  
CLOSE tb  
DEALLOCATE tb  
GO  
-----------------------------删除存储过程---------------------  
DECLARE @au_lname VARCHAR(40),@SQLString NVARCHAR(500)  
DECLARE tb CURSOR FOR  
SELECT name FROM sysobjects WHERE xtype='p' and name like 'dnt%'  
OPEN tb  
-- Perform the FIRST FETCH.  
FETCH NEXT FROM tb INTO @au_lname  
-- CHECK @@FETCH_STATUS TO see IF there ARE ANY more ROWS TO FETCH.  
WHILE @@FETCH_STATUS = 0  
BEGIN  
-- This IS executed AS long AS the previous FETCH succeeds.  
FETCH NEXT FROM tb INTO @au_lname  
SET @SQLString='DROP PROCEDURE '+ @au_lname  
EXEC sp_executesql @SQLString  
--DROP TABLE @au_lname  
END  
CLOSE tb  
DEALLOCATE tb  
GO  
 |   
 
 
 
 |