ëÁÔÁÌÏÇïÇÌÁ×ÌÅÎÉÅéÎÄÅËÓ ÒÁÚÄÅÌÁ
îÁÚÁÄ÷ÐÅÒÅÄ


6. õÐÒÁ×ÌÅÎÉÅ ÔÒÁÎÚÁËÃÉÑÍÉ

ðÒÉ ×ÙÐÏÌÎÅÎÉÉ ÜÔÏÊ ÒÁÂÏÔÙ × ÏÂÏÉÈ ÓÅÁÎÓÁÈ ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÁÕÔÅÎÔÉÆÉÃÉÒÏ×ÁÔØÓÑ ÏÄÎÉÍ É ÔÅÍ ÖÅ ÉÍÅÎÅÍ.

Oracle

úÁÐÕÓËÁÅÔÓÑ óÅÁÎÓ 1 - SQL*Plus.
úÁÐÕÓËÁÅÔÓÑ óÅÁÎÓ 2 - SQL*Plus.

õÒÏ×ÅÎØ ÚÁ×ÅÒÛÅÎÎÏÇÏ ÞÔÅÎÉÑ

óÅÁÎÓ 1

SQL> ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED;

óÅÁÎÓ 2

SQL> ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED;

ðÏÔÅÒÑÎÎÙÅ ÉÚÍÅÎÅÎÉÑ

óÅÁÎÓ 1

SQL> UPDATE department SET salary_limit=29000 WHERE dep_id=10;
1 row updated.

óÅÁÎÓ 2

SQL> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
ÓÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ, ××ÅÓÔÉ ËÏÍÁÎÄÕ COMMIT ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ×ÙÐÏÌÎÑÅÔÓÑ COMMIT × ÓÅÁÎÓÅ 1, Á ÚÁÔÅÍ - COMMIT × ÓÅÁÎÓÅ 2. ÷ ÂÁÚÅ ÄÁÎÎÙÈ ÓÏÈÒÁÎÑÀÔÓÑ ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ × ÓÅÁÎÓÅ 2.

÷Ù×ÏÄ - ÐÏÔÅÒÑÎÎÙÅ ÉÚÍÅÎÅÎÉÑ ÎÅ ÄÏÐÕÓËÁÀÔÓÑ.

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

UPDATE department SET salary_limit=28500 WHERE dep_id=10;
COMMIT;

çÒÑÚÎÏÅ ÞÔÅÎÉÅ

óÅÁÎÓ 1

SQL> SELECT * FROM department WHERE dep_id=10;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28500

óÅÁÎÓ 2

SQL> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
1 row updated.
SQL> SELECT * FROM department WHERE dep_id=10;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000

óÅÁÎÓ 1

SQL> SELECT * FROM department WHERE dep_id=10;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28500

óÅÁÎÓ 2

SQL> ROLLBACK;
Rollback complete.

óÅÁÎÓ 1 SQL> SELECT * FROM department WHERE dep_id=10; DEP_ID DEP_NAME SALARY_LIMIT --------- -------------------- ------------ 10 ÕÐÒÁ×ÌÅÎÉÅ 28500

÷Ù×ÏÄ - ÇÒÑÚÎÏÅ ÞÔÅÎÉÅ ÎÅ ÄÏÐÕÓËÁÅÔÓÑ

îÅÐÏ×ÔÏÒÑÀÝÅÅÓÑ ÞÔÅÎÉÅ

óÅÁÎÓ 1

SQL> SELECT * FROM department WHERE dep_id=10;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28500

óÅÁÎÓ 2

SQL> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
1 row updated.
SQL> COMMIT;
Commit complete.

óÅÁÎÓ 1

SQL> SELECT * FROM department WHERE dep_id=10;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000
SQL> COMMIT;
Commit complete.

÷Ù×ÏÄ - ÎÅÐÏ×ÔÏÒÑÀÝÅÅÓÑ ÞÔÅÎÉÅ ÄÏÐÕÓËÁÅÔÓÑ

æÁÎÔÏÍ

óÅÁÎÓ 1

SQL> SELECT * FROM department WHERE salary_limit>15000;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000
       30 ÐÒÏÅËÔ á                    22000
       40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó             16000
       50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä            26500
       60 ÌÁÂÏÒÁÔÏÒÉÑ íí              18500

óÅÁÎÓ 2

SQL> INSERT INTO department VALUES(100,'ÏÔÄÅÌ X',30000);
1 row created.

óÅÁÎÓ 1

SQL>  SELECT * FROM department WHERE salary_limit>15000;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000
       30 ÐÒÏÅËÔ á                    22000
       40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó             16000
       50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä            26500
       60 ÌÁÂÏÒÁÔÏÒÉÑ íí              18500

óÅÁÎÓ 2

SQL> COMMIT;
Commit complete.

óÅÁÎÓ 1

SQL>  SELECT * FROM department WHERE salary_limit>15000;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000
       30 ÐÒÏÅËÔ á                    22000
       40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó             16000
       50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä            26500
       60 ÌÁÂÏÒÁÔÏÒÉÑ íí              18500
      100 ÏÔÄÅÌ X                     30000
6 rows selected.

÷Ù×ÏÄ - ÆÁÎÔÏÍ ÄÏÐÕÓËÁÅÔÓÑ

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

DELETE FROM department WHERE dep_id=100;
COMMIT;

õÒÏ×ÅÎØ ÓÅÒÉÁÌÉÚÁÃÉÉ

óÅÁÎÓ 1

SQL>ALTER SESSION SET ISOLATION_LEVEL = SERIALIZABLE;

óÅÁÎÓ 2

SQL>ALTER SESSION SET ISOLATION_LEVEL = SERIALIZABLE;

îÅÐÏ×ÔÏÒÑÀÝÅÅÓÑ ÞÔÅÎÉÅ

óÅÁÎÓ 1

SQL> SELECT * FROM department WHERE dep_id=10;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28500

óÅÁÎÓ 2

SQL> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
1 row updated.

óÅÁÎÓ 1

SQL> SELECT * FROM department WHERE dep_id=10;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28500

óÅÁÎÓ 2

SQL> COMMIT;
Commit complete.

óÅÁÎÓ 1

SQL> SELECT * FROM department WHERE dep_id=10;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28500
SQL> COMMIT;
Commit complete.
SQL> SELECT * FROM department WHERE dep_id=10;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000

÷Ù×ÏÄ - ÎÅÐÏ×ÔÏÒÑÀÝÅÅÓÑ ÞÔÅÎÉÅ ÎÅ ÄÏÐÕÓËÁÅÔÓÑ.

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

UPDATE department SET salary_limit=28500 WHERE dep_id=10;
COMMIT;

æÁÎÔÏÍ

óÅÁÎÓ 1

SQL> SELECT * FROM department WHERE salary_limit>15000;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000
       30 ÐÒÏÅËÔ á                    22000
       40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó             16000
       50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä            26500
       60 ÌÁÂÏÒÁÔÏÒÉÑ íí              18500

óÅÁÎÓ 2

SQL> INSERT INTO department VALUES(100,'ÏÔÄÅÌ X',30000);
1 row created.

óÅÁÎÓ 1

SQL>  SELECT * FROM department WHERE salary_limit>15000;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000
       30 ÐÒÏÅËÔ á                    22000
       40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó             16000
       50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä            26500
       60 ÌÁÂÏÒÁÔÏÒÉÑ íí              18500

óÅÁÎÓ 2

SQL> COMMIT;
Commit complete.

óÅÁÎÓ 1

SQL>  SELECT * FROM department WHERE salary_limit>15000;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000
       30 ÐÒÏÅËÔ á                    22000
       40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó             16000
       50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä            26500
       60 ÌÁÂÏÒÁÔÏÒÉÑ íí              18500
SQL> COMMIT;
Commit complete.
SQL>  SELECT * FROM department WHERE salary_limit>15000;
   DEP_ID DEP_NAME             SALARY_LIMIT
--------- -------------------- ------------
       10 ÕÐÒÁ×ÌÅÎÉÅ                  28000
       30 ÐÒÏÅËÔ á                    22000
       40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó             16000
       50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä            26500
       60 ÌÁÂÏÒÁÔÏÒÉÑ íí              18500
      100 ÏÔÄÅÌ X                     30000
6 rows selected.

÷Ù×ÏÄ - ÆÁÎÔÏÍ ÎÅ ÄÏÐÕÓËÁÅÔÓÑ

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

DELETE FROM department WHERE dep_id=100;
COMMIT;

ôÕÐÉË

óÅÁÎÓ 1

SQL> UPDATE department SET salary_limit=28500 WHERE dep_id=10 ;
1 row updated.

óÅÁÎÓ 2

SQL> UPDATE department SET salary_limit=10500 WHERE dep_id=20 ;
1 row updated.

óÅÁÎÓ 1

SQL> UPDATE department SET salary_limit=10500 WHERE dep_id=20 ;
óÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ

óÅÁÎÓ 2

SQL> UPDATE department SET salary_limit=10500 WHERE dep_id=20 ;
óÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ
ðÒÉÍÅÒÎÏ ÞÅÒÅÚ 1 ÍÉÎ:

óÅÁÎÓ 1

ERROR at line 1:
ORA-00060: deadlock detected while waiting for resource

óÅÁÎÓ 2 ÐÒÏÄÏÌÖÁÅÔ ÂÙÔØ ÚÁÂÌÏËÉÒÏ×ÁÎÎÙÍ

óÅÁÎÓ 1

SQL> commit;
Commit complete.

óÅÁÎÓ 2

1 row updated.


DB2

úÁÐÕÓËÁÅÔÓÑ

óÅÁÎÓ 1 - Command Center. úÁÐÕÓËÁÅÔÓÑ

óÅÁÎÓ 2 - Command Line Processor.


õÒÏ×ÅÎØ ÎÅÚÁ×ÅÒÛÅÎÎÏÇÏ ÞÔÅÎÉÑ

óÅÁÎÓ 1

UPDATE COMMAND OPTIONS USING c OFF
CHANGE ISOLATION TO UR
CONNECT TO DB2EDU

óÅÁÎÓ 2

UPDATE COMMAND OPTIONS USING c OFF
CHANGE ISOLATION TO UR
CONNECT TO DB2EDU

ðÏÔÅÒÑÎÎÙÅ ÉÚÍÅÎÅÎÉÑ

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
UPDATE department SET salary_limit=29000 WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 2

db2==> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
ÓÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ, ××ÅÓÔÉ ËÏÍÁÎÄÕ COMMIT ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ×ÙÐÏÌÎÑÅÔÓÑ COMMIT × ÓÅÁÎÓÅ 1, Á ÚÁÔÅÍ - COMMIT × ÓÅÁÎÓÅ 2. ÷ ÂÁÚÅ ÄÁÎÎÙÈ ÓÏÈÒÁÎÑÀÔÓÑ ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ × ÓÅÁÎÓÅ 2.

÷Ù×ÏÄ - ÐÏÔÅÒÑÎÎÙÅ ÉÚÍÅÎÅÎÉÑ ÎÅ ÄÏÐÕÓËÁÀÔÓÑ.

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

UPDATE department SET salary_limit=28500 WHERE dep_id=10;
COMMIT;

çÒÑÚÎÏÅ ÞÔÅÎÉÅ

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28500.00
  1 record(s) selected.

óÅÁÎÓ 2

db2==> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28000.00

÷Ù×ÏÄ - ÇÒÑÚÎÏÅ ÞÔÅÎÉÅ ÄÏÐÕÓËÁÅÔÓÑ

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

UPDATE department SET salary_limit=28500 WHERE dep_id=10;
COMMIT;

õÒÏ×ÅÎØ ÓÔÁÂÉÌØÎÏÓÔÉ ËÕÒÓÏÒÁ

óÅÁÎÓ 1

CONNECT RESET
CHANGE ISOLATION TO CS
CONNECT TO DB2EDU

óÅÁÎÓ 2

CONNECT RESET
CHANGE ISOLATION TO CS
CONNECT TO DB2EDU

çÒÑÚÎÏÅ ÞÔÅÎÉÅ

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28500.00
  1 record(s) selected.

óÅÁÎÓ 2

db2==> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28000.00
  1 record(s) selected.

óÅÁÎÓ 2

db2==>  ROLLBACK;
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28500.00
  1 record(s) selected.

óÅÁÎÓ 2

db2==> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
DB20000I  The SQL command completed successfully.
ÓÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ, ××ÅÓÔÉ ÓÌÅÄÕÀÝÕÀ ËÏÍÁÎÄÕ ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ, ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ×ÙÐÏÌÎÑÅÔÓÑ COMMIT × ÓÅÁÎÓÅ 1, É ÔÏÇÄÁ ËÏÍÁÎÄÁ × ÓÅÁÎÓÅ 2 ÚÁËÁÎÞÉ×ÁÅÔÓÑ
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28000.00

÷Ù×ÏÄ - ÇÒÑÚÎÏÅ ÞÔÅÎÉÅ ÎÅ ÄÏÐÕÓËÁÅÔÓÑ

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

UPDATE department SET salary_limit=28500 WHERE dep_id=10;
COMMIT;

îÅÐÏ×ÔÏÒÑÀÝÅÅÓÑ ÞÔÅÎÉÅ

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28500.00
  1 record(s) selected.

óÅÁÎÓ 2

db2==> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
DB20000I  The SQL command completed successfully.
db2==>  COMMIT;
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28000.00
  1 record(s) selected.

÷Ù×ÏÄ - ÎÅÐÏ×ÔÏÒÑÀÝÅÅÓÑ ÞÔÅÎÉÅ ÄÏÐÕÓËÁÅÔÓÑ


õÒÏ×ÅÎØ ÓÔÁÂÉÌØÎÏÓÔÉ ÞÔÅÎÉÑ

óÅÁÎÓ 1

CONNECT RESET
CHANGE ISOLATION TO RS
CONNECT TO DB2EDU

óÅÁÎÓ 2

CONNECT RESET
CHANGE ISOLATION TO RS
CONNECT TO DB2EDU

îÅÐÏ×ÔÏÒÑÀÝÅÅÓÑ ÞÔÅÎÉÅ

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28500.00
  1 record(s) selected.

óÅÁÎÓ 2

db2==> UPDATE department SET salary_limit=28000 WHERE dep_id=10;
ÓÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ, ××ÅÓÔÉ ÓÌÅÄÕÀÝÕÀ ËÏÍÁÎÄÕ ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ, ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ×ÙÐÏÌÎÑÅÔÓÑ COMMIT × ÓÅÁÎÓÅ 1, É ÔÏÇÄÁ ËÏÍÁÎÄÁ × ÓÅÁÎÓÅ 2 ÚÁËÁÎÞÉ×ÁÅÔÓÑ
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE dep_id=10 ;
ÓÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ, ××ÅÓÔÉ ÓÌÅÄÕÀÝÕÀ ËÏÍÁÎÄÕ ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ, ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ×ÙÐÏÌÎÑÅÔÓÑ COMMIT × ÓÅÁÎÓÅ 2, É ÔÏÇÄÁ ËÏÍÁÎÄÁ × ÓÅÁÎÓÅ 1 ÚÁËÁÎÞÉ×ÁÅÔÓÑ
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28000.00
  1 record(s) selected.

÷Ù×ÏÄ - ÎÅÐÏ×ÔÏÒÑÀÝÅÅÓÑ ÞÔÅÎÉÅ ÎÅ ÄÏÐÕÓËÁÅÔÓÑ

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

DELETE FROM department WHERE dep_id=100;
COMMIT;

æÁÎÔÏÍ

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE salary_limit>15000 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28500.00
         30 ÐÒÏÅËÔ á                 22000.00
         40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó          16000.00
         50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä         26500.00
         60 ÌÁÂÏÒÁÔÏÒÉÑ íí           18500.00
  5 record(s) selected.

óÅÁÎÓ 2

db2==> INSERT INTO department VALUES(100,'ÏÔÄÅÌ X',30000);
DB20000I  The SQL command completed successfully.
db2==> COMMIT
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE salary_limit>15000 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28500.00
         30 ÐÒÏÅËÔ á                 22000.00
         40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó          16000.00
         50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä         26500.00
         60 ÌÁÂÏÒÁÔÏÒÉÑ íí           18500.00
        100 ÐÒÏÅËÔ X                 30000.00
 6 record(s) selected.

÷Ù×ÏÄ - ÆÁÎÔÏÍ ÄÏÐÕÓËÁÅÔÓÑ

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

DELETE FROM department WHERE dep_id=100;
COMMIT;

õÒÏ×ÅÎØ ÐÏ×ÔÏÒÑÅÍÏÇÏ ÞÔÅÎÉÑ

óÅÁÎÓ 1

UPDATE COMMAND OPTIONS USING c OFF
CHANGE ISOLATION TO RR
CONNECT TO DB2EDU

óÅÁÎÓ 2

UPDATE COMMAND OPTIONS USING c OFF
CHANGE ISOLATION TO RR
CONNECT TO DB2EDU

æÁÎÔÏÍ

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE salary_limit>15000 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28500.00
         30 ÐÒÏÅËÔ á                 22000.00
         40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó          16000.00
         50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä         26500.00
         60 ÌÁÂÏÒÁÔÏÒÉÑ íí           18500.00
  5 record(s) selected.

óÅÁÎÓ 2

db2==> INSERT INTO department VALUES(100,'ÏÔÄÅÌ X',30000);
ÓÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ, ××ÅÓÔÉ ÓÌÅÄÕÀÝÕÀ ËÏÍÁÎÄÕ ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ, ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ×ÙÐÏÌÎÑÅÔÓÑ COMMIT × ÓÅÁÎÓÅ 1, É ÔÏÇÄÁ ËÏÍÁÎÄÁ × ÓÅÁÎÓÅ 2 ÚÁËÁÎÞÉ×ÁÅÔÓÑ
DB20000I  The SQL command completed successfully.
 db2==> COMMIT
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
SELECT * FROM department WHERE salary_limit>15000 ;
-----------------------------------------------------------------------------
DEP_ID      DEP_NAME             SALARY_LIMIT
----------- -------------------- ------------
         10 ÕÐÒÁ×ÌÅÎÉÅ               28500.00
         30 ÐÒÏÅËÔ á                 22000.00
         40 ÌÁÂÏÒÁÔÏÒÉÑ ðëó          16000.00
         50 ÌÁÂÏÒÁÔÏÒÉÑ óõâä         26500.00
         60 ÌÁÂÏÒÁÔÏÒÉÑ íí           18500.00
        100 ÐÒÏÅËÔ X                 30000.00
 6 record(s) selected.

÷Ù×ÏÄ - ÆÁÎÔÏÍ ÎÅ ÄÏÐÕÓËÁÅÔÓÑ

äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÄÁÎÎÙÈ ×ÙÐÏÌÎÉÍ:

DELETE FROM department WHERE dep_id=100;
COMMIT;

ôÕÐÉË

óÅÁÎÓ 1

UPDATE COMMAND OPTIONS USING c OFF
CHANGE ISOLATION TO UR
CONNECT TO DB2EDU

óÅÁÎÓ 2

UPDATE COMMAND OPTIONS USING c OFF
CHANGE ISOLATION TO UR
CONNECT TO DB2EDU

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
UPDATE department SET salary_limit=28500 WHERE dep_id=10 ;
-----------------------------------------------------------------------------
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 2

db2==> UPDATE department SET salary_limit=10500 WHERE dep_id=20 ;
DB20000I  The SQL command completed successfully.

óÅÁÎÓ 1

------------------------------ Command Entered ------------------------------
UPDATE department SET salary_limit=10500 WHERE dep_id=20 ;
-----------------------------------------------------------------------------
óÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ

óÅÁÎÓ 2

db2==> UPDATE department SET salary_limit=10500 WHERE dep_id=20 ;
óÅÁÎÓ ÂÌÏËÉÒÕÅÔÓÑ
ðÒÉÍÅÒÎÏ ÞÅÒÅÚ 1 ÍÉÎ:

óÅÁÎÓ 1

DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. Durung SQL processing it returned:
SQL0911N The current transaction has been rolled back because of a deadlock
or timeout. Reason code "2". SQLSTATE=40001

óÅÁÎÓ 2

DB20000I  The SQL command completed successfully.

îÁÚÁÄ÷ÐÅÒÅÄ
ëÁÔÁÌÏÇïÇÌÁ×ÌÅÎÉÅéÎÄÅËÓ ÒÁÚÄÅÌÁ