Pages from Kurs Oracle transakcje

background image

Podstawy języka SQL

Strona 77

INSERT INTO manager
SELECT (empno, ename, sal, job, hiredate)
FROM emp
WHERE job='MANAGER';

Modyfikacja wierszy

Polecenie UPDATE

Do zmiany zawartości wierszy służy polecenie UPDATE.

UPDATE

UPDATE

UPDATE

UPDATE

nazwa_tabeli [alias]

SET

SET

SET

SET

kolumna = { wyra

ż

enie | podzapytanie }

[ , kolumna= { wyra

ż

enie | podzapytanie } ...]

[

WHERE

WHERE

WHERE

WHERE

warunek ];

Przykład


UPDATE

dept

SET

dname='MARKETING'

loc='DENVER'

WHERE

deptno=20;

Jeśli nie wpiszemy klauzuli

WHERE

,

to zostaną zmodyfikowane wszystkie

wiersze tabeli.

W poleceniu UPDATE można używać podzapytań, zarówno zagnieżdżonych jak
i skorelowanych.

Usuwanie wierszy

Polecenie DELETE

Do usuwania wierszy z tabeli służy polecenie DELETE.

DELETE

DELETE

DELETE

DELETE

[

FROM

FROM

FROM

FROM

] tabela

[

WHERE

WHERE

WHERE

WHERE

warunek ];

Warunek w klauzuli

WHERE

określa, które wiersze będą usunięte.

Przykład

Podstawy języka SQL

Strona 78


DELETE FROM emp
WHERE job='MANAGER';

Zostaną usunięci prasownicy pracujący na stanowisku MANAGER.

Transakcje

Co to jest transakcja?

Transakcja to operacja zmiany stanu bazy, składającą się z wielu operacji aktualizacji
wierszy w tabeli. W przypadku przerwania operacji zmiany bazy w trakcie trwania
transakcji, baza powinna wrócić do stanu sprzed transakcji. Dopiero po zakończeniu
transakcji zmiany dokonane w czasie transakcji będą widoczne dla innych użytkowników.

Transakcja rozpoczyna się automatycznie podczas wykonywania pierwszej operacji
DML — zmiany stanu bazy i trwa do:

jawnego zatwierdzenia transakcji — polecenie COMMIT. Zmiany stają się
nieodwracalne i widoczne dla innych użytkowników;

jawnego polecenia wycofania transakcji — polecenie ROLLBACK. Baza danych
wraca wtedy do stanu sprzed transakcji;

wykonania polecenia DDL (CREATE, ALTER, DROP). Każde takie polecenie jest
transakcją i zatwierdza niezatwierdzoną transakcję wcześniejszą;

zakończenia sesji aplikacji — w zależności od aplikacji transakcja jest albo
zatwierdzana albo wycofywana;

przerwania sesji — awaria sieci, brak zasilania — transakcje są wycofywane.

Transakcja powinna tworzyć spójną całość, należy unikać zbyt długich transakcji —
powinno się je zatwierdzać po wykonaniu części stanowiącej logiczną całość. Dzięki temu
oszczędzamy zasoby systemowe i umożliwiamy innym użytkownikom korzystanie
z wprowadzonych zmian.

Polecenie COMMIT

Polecenie to służy do jawnego zatwierdzania transakcji.

COMMIT

COMMIT

COMMIT

COMMIT

[

WORK

WORK

WORK

WORK

];

Polecenie to powoduje:

zakończenie transakcji,

zatwierdzenie zmian — stają się nieodwracalne,

zmiany stają się widoczne dla innych użytkowników,

usunięcie wszystkich blokad i wszystkich punktów zachowania.

background image

Podstawy języka SQL

Strona 79

Wykonanie jakiegokolwiek polecenia DDL spowoduje taki sam efekt, jak wykonanie
polecenia COMMIT.

Polecenie ROLLBACK

Służy do jawnego wycofywania transakcji.

ROLLBACK

ROLLBACK

ROLLBACK

ROLLBACK

[

WORK

WORK

WORK

WORK

];

Polecenie ROLBACK powoduje:

zakończenie transakcji,

wycofanie wszystkich zmian dokonanych w sesji od początku transakcji,

usunięcie wszystkich blokad i wszystkich punktów zachowania.

Punkty zachowania

Punkty zachowania stosuje się, aby podzielić transakcje na mniejsze części.

SAVEPOINT

SAVEPOINT

SAVEPOINT

SAVEPOINT

nazwa_punktu_zachowania;

Wprowadzenie punktu zachowania pozwala wycofać transakcję do określonego punktu
zachowania, nie tracąc przy tym zmian wprowadzonych wcześniej.

Do wycofania zmian do ostatniego punktu zachowania służy następujące polecenie:

ROLLBACK

ROLLBACK

ROLLBACK

ROLLBACK

[

WORK

WORK

WORK

WORK

]

TO

TO

TO

TO

[

SAVEPOINT

SAVEPOINT

SAVEPOINT

SAVEPOINT

] nazwa_punktu_zachowania;

Polecenie to:

wycofuje część transakcji do podanego punktu zachowania,

zachowuje ten punkt zachowania, ale powoduje utartę wszystkich późniejszych,

zwalnia blokady założone przez polecenia wydane po tym punkcie zachowania.

Niejawne wycofanie

Niejawne całkowite wycofanie transakcji ma miejsce w przypadku np. przerwania sesji
użytkownika, awarii komputera, braku zasilania itp.

Niejawne częściowe wycofanie transakcji ma miejsce w przypadku błędu wykonania
polecenia. Wycofywane są wtedy zmiany dokonane przez ten błędny rozkaz.

Podstawy języka SQL

Strona 80

Automatyczny COMMIT

W SQL*Plus możemy wymusić automatyczne zatwierdzanie transakcji po każdym
poleceniu INSERT, UPDATE i DELETE.

SET

SET

SET

SET

AUTO

AUTO

AUTO

AUTO

[

COMMIT

COMMIT

COMMIT

COMMIT

]

ON

ON

ON

ON

Dyrektywę odwołujemy poleceniem:

SET

SET

SET

SET

AUTO

AUTO

AUTO

AUTO

[

COMMIT

COMMIT

COMMIT

COMMIT

]

OFF

OFF

OFF

OFF


Wyszukiwarka

Podobne podstrony:
pages from xm 754sx 3
pages from xm 754sx 2
Pages from?rma s2 druk
Pages from rup4tb id 345531 Nieznany
Pages from [test Lizbona]2
Pages from Secret origins 8 18
Pages from [Ostaszewska D , Tambor J Fonetyka i fonologia współczesnego języka polskiego]
pages from xm 754sx 4
Pages from Dysleksja 2 2008
Kurs Oracle Reports
Extract Pages From piec lat polski w unii europejskiej
Pages from Testy
Extract Pages From konkurencja w gospodarce wspolczesnej
Pages from Answer Key
kurs oracle podstawy sql 4FTEY3ZEMDW5YMC7JVMVHLV3IJIVX2DSWAXXO3Y
Pages from A4AF3 A4BF2
Pages from NC Mkt Rpt V14 Final
pages from xm 754sx

więcej podobnych podstron