--方法1declare
@table
nvarchar(30
)declare tmpcur cursor
forselect name from sys.objects where type='u
'and name like n'
hsupa%
'open
tmpcur
fetch
next
from tmpcur into
@table
while
@@fetch_status=0
begin
declare
@sql
varchar(100
)
select
@sql='
drop table '+
@table
exec(@sql
)
fetch
next
from tmpcur into
@table
endclose
tmpcur
deallocate tmpcur
方法2
/*--------------------------------
功能說明: 批量droptable
使用說明: 使用時一定要小心,因為刪選表的where條件是like所有必須保證where
後的like確定與你要刪除表名相匹配
---------------------------------
*/--
------引數定義-------------------
declare
@tablename
asnvarchar(50) --
查詢表名條件(小心!,確保like條件是你要drop的表.tablename盡量精確)
set@tablename='
test'--
------------------------------------
--select name from sys.tables where name like '%'+@tablename+'%' --查詢出要刪除表的名稱
if@tablename=''
set@tablename='
tablename'--
初始化tablename為tablename,防止@tablename為空
declare
@tablenames
asnvarchar(3000
)declare
@sql
asnvarchar(3000
)set
@tablenames=(
select',
'+name from sys.tables where name like'%
'+@tablename+'
%'for xml path(''
))set
@tablenames
=stuff(@tablenames,1,1,''
)set
@sql='
drop table '+
@tablenames
exec(@sql)
sql server 批量刪除
sql server 批量刪除資料 建立表1 1 create table table1 23 id int primary keyidentity 1,1 4 msg varchar 24 5 loc varchar 24 6 style varchar 24 7 建立表2 1 表2 2creat...
SQL SERVER 批量刪除儲存過程
sqlserver 2005一次只能刪除乙個儲存過程,如果多了,需要很長時間才能刪完,所以寫了一段語句,直接就把當然資料庫下所有使用者自定義的儲存過程給drop了。不過使用都請留心,當前開啟的資料庫哦。下面貼 declare proccur cursor forselect name from sy...
mysql 批量刪除表(表名字首相同)
如果僅僅使用sql語句,mysql 目前是沒有辦法批量刪除表名相似的表!但可以通過sql生成合併刪除語句,形如 drop table tbl 1,tbl 2,tbl 3 這樣複製出來執行就可達到批量刪除的效果。如下為示例 1 使用sql,將資料庫database1中的表名以tab 為字首的表拼接成d...