服务器之家:专注于服务器技术及软件下载分享
分类导航

DEDECMS|帝国CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|苹果CMS|极致CMS|CMS系统|

服务器之家 - 建站程序 - Discuz - 快速删除DiscuzNT论坛数据表和存储过程

快速删除DiscuzNT论坛数据表和存储过程

2019-09-28 14:35Discuz教程网 Discuz

公司的一个客户要求把DiscuzNT从现有网站删除(数据和页面),页面简单,FTP连接上去删除就可以了,数据表的删除就有点纠结了:我的DNT论坛是和现有的网站系统共用的一个数据库

本来想一个一个删除的,打开数据库一看那么多的表和存储过程,就放弃这种笨办法了,于是决定用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 

延伸 · 阅读

精彩推荐