[英]Delete multiple objects from a SQL Server database
有沒有一種方法可以刪除數據庫中的多個對象? 我有20個表,40個視圖,40個存儲過程,20個觸發器。
我不想一一刪除。 我一直在命名以_
開頭的所有對象,例如_TableName
, _ViewName
, _StoredProcedureName
等。
謝謝。
您可以使用動態SQL並查詢對象的目錄視圖來實現這一點(表,視圖,過程等都有一個)。 然后,您可以建立一個由drop
分隔的drop
語句列表;
並執行它。
例如,對於刪除表,它將是:
declare @sql nvarchar(max) = N''
select @sql = @sql + N'drop table ' + QUOTENAME(s.name) + N'.' + QUOTENAME(t.name) + N'; '
from sys.tables t
inner join sys.schemas s on t.schema_id = s.schema_id
where left(t.name, 1) = '_'
exec sp_executesql @sql
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.