sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan gendannes data fra afkortet tabel

Hvis du bruger TRANSACTIONS i din kode, kan TRUNCATE rulles tilbage. Hvis der ikke er nogen transaktion bruges, og TRUNCATE-operationen er begået, kan den ikke hentes fra logfilen. TRUNCATE er DDL-operation, og den er ikke logget ind i logfilen.

DELETE og TRUNCATE kan begge rulles tilbage, når de er omgivet af TRANSACTION, hvis den aktuelle session ikke er lukket. Hvis TRUNCATE er skrevet i Query Editor omgivet af TRANSACTION, og hvis sessionen er lukket, kan den ikke rulles tilbage, men DELETE kan rulles tilbage.

USE tempdb
GO
-- Create Test Table
CREATE TABLE TruncateTest (ID INT)
INSERT INTO TruncateTest (ID)
SELECT 1
UNION ALL
SELECT 2
UNION ALL
SELECT 3
GO
-- Check the data before truncate
SELECT * FROM TruncateTest
GO
-- Begin Transaction
BEGIN TRAN
-- Truncate Table
TRUNCATE TABLE TruncateTest
GO
-- Check the data after truncate
SELECT * FROM TruncateTest
GO
-- Rollback Transaction
ROLLBACK TRAN
GO
-- Check the data after Rollback
SELECT * FROM TruncateTest
GO
-- Clean up
DROP TABLE TruncateTest
GO


  1. Postgresql hvordan vælger man værdier i kolonnen fra en tabel, der kun er tilgængelige i en anden tabel?

  2. Kolonne ugyldig i valglisten, fordi den ikke er indeholdt i hverken en aggregeret funktion eller GROUP BY-sætningen

  3. SUM-funktionen tilføjes ikke korrekt

  4. Hvor skal du gemme uploadede filer (lyd, billeder og video)