【问题标题】:Truncate some tables and keep rest of tables in the same database in SQL Server截断一些表并将其余表保留在 SQL Server 中的同一数据库中
【发布时间】:2016-09-28 19:14:26
【问题描述】:

环境:Azure SQL server 中的 SQL Server 2016。

我的数据库中有大约 600 个表。现在我想截断其中的 120 个并保留其余部分。我怎样才能做到这一点?

而不是使用

Truncate table my_table_name1,
Truncate table my_table_name2,
...

有没有更快的方法来选择我想要截断的表?

谢谢

【问题讨论】:

    标签: sql-server azure truncate


    【解决方案1】:

    假设您要截断的表有一些关键模式,也许一点动态 SQL 可能会有所帮助。

    Declare @SQL varchar(max) = ''
    Select @SQL = @SQL +';Truncate Table '+QUOTENAME(TABLE_SCHEMA)+'.'+QUOTENAME(TABLE_NAME)+char(13) From INFORMATION_SCHEMA.Tables Where Table_Name like '%OD%'
    
    Select @SQL
    --Exec(@SQL) -- Only of Satisifed with the results
    

    返回

    ;Truncate Table [dbo].[OD-Date]
    ;Truncate Table [dbo].[OD]
    ;Truncate Table [dbo].[OD-OH]
    ;Truncate Table [dbo].[OD-Tier]
    ;Truncate Table [dbo].[OD-Tally]
    ;Truncate Table [dbo].[OD-Map]
    ;Truncate Table [dbo].[OD-XP]
    ;Truncate Table [dbo].[OD-Msg]
    

    【讨论】:

    • @JaileneHuang 很高兴知道。干杯
    • @JaileneHuang 不要害羞,如果它对你有用,请选择这个作为答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多