Er forpligtelse påkrævet efter sletning i Oracle?
Er forpligtelse påkrævet efter sletning i Oracle?

Video: Er forpligtelse påkrævet efter sletning i Oracle?

Video: Er forpligtelse påkrævet efter sletning i Oracle?
Video: COMMIT and ROLLBACK (Introduction to Oracle SQL) 2024, April
Anonim

Hvis du vil fjerne alle rækkerne fra en tabel, er TRUNCATE TABLE-sætningen meget mere effektiv end SLET udmelding. TRUNCATE TABLE-sætningen er en DDL-kommando, så den inkluderer en implicit BEGÅ , så der er ingen måde at udstede en ROLLBACK, hvis du beslutter dig for ikke at fjerne rækkerne.

Hvis du holder dette i øjesyn, behøver sletning at foretage commit i Oracle?

SLET kræver -en BEGÅ , men TRUNCATE gør ikke.

Ligeledes skal vi forpligte os efter drop-bordet? SKAB BORD og DROP TABEL udsagn gør ikke begå en transaktion, hvis nøgleordet MIDLERTIDIG bruges. (Det her gør gælder ikke andre operationer på midlertidig borde såsom ALTER BORD og CREATE INDEX, som gør forårsage en begå .)

Er commit påkrævet efter opdatering i Oracle?

hvorfor der ikke kræves forpligtelse til DDL kommandoer, hvorimod det er obligatorisk for DML-kommandoer at gemme ændringer permanent i databasen. Tak på forhånd. Nogle gange er svaret: "Det er bare den måde, Oracle Corp. implementerede det på."

Er forpligtelse påkrævet efter udførelse med det samme?

Begå er ikke påkrævet efter hver UDFØR STRAKS . Visse udsagn gør IKKE kræve -en begå ; for eksempel hvis du afkorter en tabel med TRUNCATE. Alt uforpligtende arbejde inden for den aktuelle transaktion er engagerede eller rullet tilbage - ikke kun udsagnet henrettet ved UDFØR STRAKS.

Anbefalede: