该企业的一个客户规定将DiscuzNT从当前网站(数据信息和网页)中删除。网页很简单,可以用FTP链接删除。数据表的删除有点令人担忧:我的DNT社区论坛是一个数据库查询,用于当前的网站程序。
原本想一个一个删除的,开启数据库查询一看那么多的表和存储过程,就舍弃这类笨办法了,因此决策用SQL句子来拿下。编码以下:复制代码编码以下:
-----------------------------删除数据表---------------------
DECLARE@au_lnameVARCHAR(40),@SQLStringNVARCHAR(500)
DECLAREtbCURSORFOR
SELECTnameFROMsysobjectsWHERExtype='U'andnamelike'dnt%'
OPENtb
--PerformtheFIRSTFETCH.
FETCHNEXTFROMtbINTO@au_lname
--CHECK@@FETCH_STATUSTOseeIFthereAREANYmoreROWSTOFETCH.
WHILE@@FETCH_STATUS=0
BEGIN
--ThisISexecutedASlongASthepreviousFETCHsucceeds.
FETCHNEXTFROMtbINTO@au_lname
SET@SQLString='DROPTABLE'@au_lname
EXECsp_executesql@SQLString
--DROPTABLE@au_lname
END
CLOSEtb
DEALLOCATEtb
GO
-----------------------------删除存储过程---------------------
DECLARE@au_lnameVARCHAR(40),@SQLStringNVARCHAR(500)
DECLAREtbCURSORFOR
SELECTnameFROMsysobjectsWHERExtype='p'andnamelike'dnt%'
OPENtb
--PerformtheFIRSTFETCH.
FETCHNEXTFROMtbINTO@au_lname
--CHECK@@FETCH_STATUSTOseeIFthereAREANYmoreROWSTOFETCH.
WHILE@@FETCH_STATUS=0
BEGIN
--ThisISexecutedASlongASthepreviousFETCHsucceeds.
FETCHNEXTFROMtbINTO@au_lname
SET@SQLString='DROPPROCEDURE'@au_lname
EXECsp_executesql@SQLString
--DROPTABLE@au_lname
END
CLOSEtb
DEALLOCATEtb
GO
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)