批量刪除表的sql語句

2021-06-22 14:35:58 字數 1305 閱讀 5612

批量刪除表的sql語句,當然這種刪除需要表的名字有相同的字首.

declare @table nvarchar(300)

declare tmpcur cursor for

select 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

表的名字中最好不要用空格,否則會報錯。

既然是測試,就取類似test1.這類的名字會比較好。

這個也可以:

功能說明:  批量droptable

使用說明:  使用時一定要小心,因為刪選表的where條件是like所有必須保證where

後的like確定與你要刪除表名相匹配

--------引數定義-------------------

declare @tablename as nvarchar(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 as nvarchar(3000)

declare @sql as nvarchar(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批量刪除語句,SQL刪除所有資料

sp msforeachtable delete from execute sp msforeachtable truncate table 定義游標 declare tables cursor cursor for select name from sysobjects where type u ...

MySQL中批量字首表的sql語句

1 批量刪除字首表sql語句 先查詢生成需要操作的表 select concat drop table table name,from information schema.tables where table name like ngis20201201 ngis20201201 為要刪除的表字首...

批量刪除資料庫的SQL語句

由於專案需要,每次執行case的時候都需要建立資料庫。雖然每次執行結束都會刪除,但是不保證每次都能刪除成功 這裡有許多原因,我就不列舉了 所以我寫了個指令碼去批量刪除資料庫。首先為確保我們的資料庫是有用的,不被錯刪除的。所以就必須先備份在刪除。備份資料庫 declare name varchar 5...