zoukankan      html  css  js  c++  java
  • 如何快速删除DiscuzNT论坛数据表和存储过程

     公司的一个客户要求把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

  • 相关阅读:
    c# 文件上传
    iOSswift基础篇1
    copyWithZone 的使用方法
    客户端登陆接收大量数据导致数据丢失问题解决方法
    设计模式观察者模式(KVO)
    SQLite 之 C#版 System.Data.SQLite 使用
    设计模式MVC(C++版)
    JS 创建自定义对象的方法
    手机号、邮箱、身份证号 格式 验证
    在.cs文件中添加客户端方法
  • 原文地址:https://www.cnblogs.com/duguqing40/p/1981456.html
Copyright © 2011-2022 走看看