avatar
Untitled

Guest 12 11th Mar, 2025

MARKUP 1.03 KB
                                           
                         -- Zmień nazwę tabeli na swoją
DECLARE @TableName NVARCHAR(MAX) = 'dbo.MyTable';
DECLARE @HistoryTableName NVARCHAR(MAX);

-- Pobranie nazwy tabeli historycznej, jeśli jest włączone wersjonowanie
SELECT @HistoryTableName = h.name
FROM sys.tables t
JOIN sys.tables h ON t.history_table_id = h.object_id
WHERE t.name = OBJECT_NAME(@TableName) AND t.is_system_versioned = 1;

-- Sprawdzenie, czy wersjonowanie jest włączone
IF @HistoryTableName IS NOT NULL
BEGIN
    -- Wyłączenie wersjonowania
    EXEC('ALTER TABLE ' + @TableName + ' SET (SYSTEM_VERSIONING = OFF);');

    -- Usunięcie tabeli historycznej
    EXEC('DROP TABLE ' + @HistoryTableName + ';');
END
ELSE
BEGIN
    PRINT 'Wersjonowanie nie jest włączone dla tej tabeli.';
END

-- Usunięcie kolumn wersjonowania (jeśli istnieją)
IF EXISTS (SELECT 1 FROM sys.columns WHERE object_id = OBJECT_ID(@TableName) AND name = 'SysStartTime')
BEGIN
    EXEC('ALTER TABLE ' + @TableName + ' DROP COLUMN SysStartTime, SysEndTime;');
END
                      
                                       
To share this paste please copy this url and send to your friends
RAW Paste Data
Recent Pastes
Ta strona używa plików cookie w celu usprawnienia i ułatwienia dostępu do serwisu oraz prowadzenia danych statystycznych. Dalsze korzystanie z tej witryny oznacza akceptację tego stanu rzeczy.
Wykorzystywanie plików Cookie
Jak wyłączyć cookies?
ROZUMIEM