Krävs commit efter borttagning i Oracle?
Krävs commit efter borttagning i Oracle?

Video: Krävs commit efter borttagning i Oracle?

Video: Krävs commit efter borttagning i Oracle?
Video: Ниндзя с открытым доступом: отвар закона 2024, December
Anonim

Om du vill ta bort alla rader från en tabell är TRUNCATE TABLE-satsen mycket effektivare än RADERA påstående. TRUNCATE TABLE-satsen är ett DDL-kommando, så den innehåller ett implicit BEGÅ , så det finns inget sätt att göra en ROLLBACK om du bestämmer dig för att du inte vill ta bort raderna.

Med tanke på detta, behöver borttagningen utföras i Oracle?

DELETE kräver a BEGÅ , men TRUNCATE gör inte.

På samma sätt, behöver vi begå efter släppbordet? SKAPA TABELL och SLÄPP BORD uttalanden do inte begå en transaktion om nyckelordet TEMPORARY används. (Detta gör gäller inte annan verksamhet på tillfälligt tabeller såsom ALTER TABELL och CREATE INDEX, som do orsaka a begå .)

På motsvarande sätt, krävs commit efter uppdatering i Oracle?

varför commit inte krävs för DDL kommandon medan det är obligatoriskt för DML-kommandon att spara ändringar permanent i databasen. Tack på förhand. Ibland är svaret: "Det är precis så som Oracle Corp. implementerade det."

Krävs commit efter exekvering omedelbart?

Begå är inte krävs efter varje UTFÖR OMEDELBART . Vissa uttalanden gör INTE behöva a begå ; till exempel om du trunkerar en tabell med TRUNCATE. Allt oengagerat arbete inom den aktuella transaktionen är engagerade eller rullat tillbaka - inte bara uttalandet avrättade vid UTFÖR OMEDELBART.

Rekommenderad: