批量刪除表的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...