簡體   English   中英

從SQL Server數據庫中刪除多個對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM