ʲôÊÇsavepoint?
Use the SAVEPOINT statement to identify a point in a transaction to which you can later roll back.
¸øÄã¸öÀý×Ó
SQL> create table test (id number(7));
±íÒÑ´´½¨¡£
SQL> insert into test values (3);
ÒÑ´´½¨ 1 ÐС£
SQL> savepoint a;
±£´æµãÒÑ´´½¨¡£
SQL> insert into test values (4);
ÒÑ´´½¨ 1 ÐС£
SQL> select * from test;
ID
----------
3
4
SQL> rollback to a;
»ØÍËÒÑÍê³É¡£
SQL> select * from test;
ID
----------
3
SQL> rollback;
»ØÍËÒÑÍê³É¡£
SQL> select * from test;
δѡ¶¨ÐÐ
ÊÂÎñÖеÄSavepoints
Äã¿ÉÒÔÔÚÊÂÎñÉÏÏÂÎÄÖÐÉùÃ÷³ÆÎªsavepointµÄÖмä±ê¼Ç¡£Savepoint½«Ò»¸ö³¤ÊÂÎñ·Ö¸ôΪ½ÏСµÄ²¿·Ö¡£
ʹÓÃsavepoint£¬Äã¿ÉÒÔÔÚ³¤ÊÂÎñÖÐÈκεãÈÎÒâ±ê¼ÇÄãµÄ²Ù×÷¡£È»ºóÄã¿ÉÒÔÑ¡Ôñ»Ø¹öÔÚÊÂÎñÖе±Ç°µã֮ǰ¡¢ÉùÃ÷µÄsavepointÖ®ºóÖ´ÐеIJÙ×÷¡£±ÈÈ磬Äã¿ÉÒÔÔÚÒ»³¤¶Î¸´ÔӵĸüÐÂÖÐʹÓÃsavepoint£¬Èç¹û·¸Á˸ö´í£¬Äã²»ÐèÒªÖØÐ ......
ʲôÊǺϲ¢¶àÐÐ×Ö·û´®£¨Á¬½Ó×Ö·û´®£©ÄØ£¬ÀýÈ磺
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y
CITY VARCHAR2(20) Y
SQL> select * from test;
COUNTRY CITY
-------------------- --------------------
Öйú ̨±±
Öйú Ïã¸Û
Öйú&nb ......
ʲôÊǺϲ¢¶àÐÐ×Ö·û´®£¨Á¬½Ó×Ö·û´®£©ÄØ£¬ÀýÈ磺
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y
CITY VARCHAR2(20) Y
SQL> select * from test;
COUNTRY CITY
-------------------- --------------------
Öйú ̨±±
Öйú Ïã¸Û
Öйú&nb ......
ʲôÊǺϲ¢¶àÐÐ×Ö·û´®£¨Á¬½Ó×Ö·û´®£©ÄØ£¬ÀýÈ磺
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y
CITY VARCHAR2(20) Y
SQL> select * from test;
COUNTRY CITY
-------------------- --------------------
Öйú ̨±±
Öйú Ïã¸Û
Öйú&nb ......
author£ºskate
time£º2010-05-26
Oracle DBA ±ÊÊÔÌâ
£¨´ðÌâʱ¼ä60·ÖÖÓ£©
ÍøÉÏ¿´¼ûһƪDBAµÄÃæÊÔÌ⣬¾õµÃͦʵÓõ쬶ø²»ÏñÓеÄÃæÊÔŪµÃºÜÐ飬ºÜÀíÏ뻯¡£
Unix/Linux퉀1¡¢ÈçºÎ²é¿´Ö÷»úcpu£¬ÄÚ´æ¡¢IPºÍ´ÅÅ̿ռä?
2¡¢Äã³£ÓõĽø³Ì¹ÜÀí¡¢Ö÷»úÐÔÄܲ쿴ÃüÁîÓÐÄÄЩ£¿
3¡¢½¨Á¢×édbaºÍ¸Ã×éÏÂÓû§oracle£¬Ä¬ÈÏshellΪbash¡£
4¡¢ÈçºÎ²é¿´Óû§oracleµÄµÇ½ÀúÊ·ºÍÃüÁî²Ù×÷ÀúÊ·£¿
5¡¢Ð´crontab£¬Èýű¾/opt/test.shÔÚÿÖÜÈÕÍíÉÏ8:00Ö´ÐС£
6¡¢ÈçºÎ²éÕÒµ±Ç°Ä¿Â¼¼°ÆäËùÓÐ×ÓĿ¼Ïº¬ÓГORA-”»ò“warning”×Ö·ûÄÚÈݵÄËùÓдølogºó׺µÄÎļþ¡£
7¡¢Ð´Ò»¸öshell£¬Íê³É×Ô¶¯µÇ½Êý¾Ý¿â£¨Óû§ÃûÃÜÂëÊÇtest/testpwd, ÍøÂçÁ¬½Ó´®ÊÇdb_wending£©²¢»ñÈ¡Êý¾Ý¿âµ±Ç°SCNµÄ¹¦ÄÜ¡£
Oracle Database퉀1¡¢ÈçºÎ¿ìËÙÁ˽âÒ»¸öÒѾÔËÐкܾõÄÊý¾Ý¿âϵͳ£¿
2¡¢ÈçºÎ»ñµÃSQLÓï¾äµÄÖ´Ðмƻ®ºÍͳ¼ÆÐÅÏ¢£¿
3¡¢ÁгöÄã³£ÓõÄÊý¾Ý×ÖµäÊÓͼºÍ¶¯Ì¬ÐÔÄÜÊÓͼ¡£
4¡¢³ÂÊöʹÓùýµÄÊý¾Ý¿â±¸·ÝºÍ»Ö¸´¼¼Êõ£¬¼°ÆäÓÅȱµã¡£
5¡¢ÃèÊö table/segment/tablespace/datafile/extent/block Ö®¼äµÄ¹ØÏµ¡£
6¡¢Ç°Ì¨ÏµÍ³·´Ó³·Ç³£Âý£¬ÐèÒªÄãÈ¥·ÖÎöÕï¶Ï¡£ÇëÏêϸ³ÂÊöÕï¶ÏÁ÷³Ì£¬°üÀ¨Ð´Ï¿ÉÄÜÓõ½µÄ²Ù×÷ϵͳÃüÁ ......
ÔÚoracleÖУ¬ÎÒÃÇ´´½¨Ò»¸öÖ÷¼ü£¬Ôòͬʱ×Ô¶¯´´½¨ÁËÒ»¸öͬÃûµÄΨһË÷Òý£»É¾³ýÖ÷¼ü£¬ÔòÖ÷¼üÔ¼ÊøºÍ¶ÔÓ¦µÄΨһË÷Òý¶¼É¾³ýÁË¡£ÕâÊÇÎÒÃǾ³£¼ûµ½µÄÏÖÏó¡£
·¢³öÒ»¸ö´´½¨Ö÷¼üµÄsql£¬oracleÆäʵִÐÐÁËÁ½²½£º´´½¨Ö÷¼üÔ¼Êø¡¢´´½¨/¹ØÁª ΨһË÷Òý¡£²½ÖèÊÇÕâÑùµÄ£º
´´½¨Ö÷¼üÔ¼ÊøÊ±£¬¼ì²é¸ÃÖ÷¼ü×Ö¶ÎÉÏÊÇ·ñÒѾ´æÔÚΨһË÷Òý¡£Èô²»´æÔÚ£¬Ôò×Ô¶¯´´½¨Í¬ÃûΨһË÷Òý£»Èô´æÔÚ£¬ÔòÖ±½Ó´´½¨Ö÷¼üÔ¼Êø£¬²¢½«¸ÃÔ¼ÊøºÍÒѾ´æÔÚµÄΨһË÷Òý¶ÔÓ¦ÉÏ¡£
ɾ³ýÖ÷¼üÔ¼ÊøÊ±£¬¿ÉÒÔ¾ö¶¨ÊÇ·ñ±£Áô¶ÔÓ¦µÄË÷Òý£»É¾³ýΨһË÷Òýʱ£¬Èô´æÔÚ¶ÔÓ¦µÄÖ÷¼üÔ¼Êø£¬Ôò²»ÄÜɾ³ý¡£
×ÜÖ®£¬´æÔÚÖ÷¼üÔ¼Êø£¬Ôò¿Ï¶¨´æÔÚÓëÖ®¶ÔÓ¦µÄΨһË÷Òý£¬¶ø´æÔÚΨһË÷Òý£¬²»Ò»¶¨¶ÔÓ¦×ÅÓÐÖ÷¼üÔ¼Êø¡£
ÏÂÃæÎÒÃÇÑé֤һϣº
SQL> create table test_pri(a number(1), b number(1));
±íÒÑ´´½¨¡£
--1.´´½¨Ö÷¼ü£¬Ôò×Ô¶¯´´½¨Í¬ÃûΨһË÷Òý
--1.1´´½¨Ö÷¼ü£¬Ö÷¼üÔ¼ÊøºÍΨһË÷Òýͬʱ´´½¨
SQL> alter table test_pri add constraint pk_test_pri_a primary key(a);
±íÒѸü¸Ä¡£
SQL> select CONSTRAINT_NAME, TABLE_NAME, INDEX_NAME
2 from user_constraints where ......