
Untitled
Guest 12 11th Mar, 2025
-- 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