Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

oracleÖеÄsavepointsÊÇʲô

ʲôÊÇ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 
---------- 


SQL> rollback to a; 
»ØÍËÒÑÍê³É¡£ 
SQL> select * from test; 
ID 
---------- 

SQL> rollback; 
»ØÍËÒÑÍê³É¡£ 
SQL> select * from test; 
δѡ¶¨ÐР
ÊÂÎñÖеÄSavepoints 
Äã¿ÉÒÔÔÚÊÂÎñÉÏÏÂÎÄÖÐÉùÃ÷³ÆÎªsavepointµÄÖмä±ê¼Ç¡£Savepoint½«Ò»¸ö³¤ÊÂÎñ·Ö¸ôΪ½ÏСµÄ²¿·Ö¡£ 
ʹÓÃsavepoint£¬Äã¿ÉÒÔÔÚ³¤ÊÂÎñÖÐÈκεãÈÎÒâ±ê¼ÇÄãµÄ²Ù×÷¡£È»ºóÄã¿ÉÒÔÑ¡Ôñ»Ø¹öÔÚÊÂÎñÖе±Ç°µã֮ǰ¡¢ÉùÃ÷µÄsavepointÖ®ºóÖ´ÐеIJÙ×÷¡£±ÈÈ磬Äã¿ÉÒÔÔÚÒ»³¤¶Î¸´ÔӵĸüÐÂÖÐʹÓÃsavepoint£¬Èç¹û·¸Á˸ö´í£¬Äã²»ÐèÒªÖØÐÂÌá½»ËùÓÐÓï¾ä¡£ 
SavepointsÔÚÓ¦ÓóÌÐòÖÐͬÑùÓÐÓá£Èç¹ûÒ»¸ö¹ý³Ì°üº¬¼¸¸öº¯Êý£¬ÄÇ¿ÉÒÔÔÚÿ¸öº¯Êýǰ´´½¨Ò»¸ösavepoint¡£Èç¹ûÒ»¸öº¯Êýʧ°Ü£¬·µ»ØÊý¾Ýµ½º¯Êý¿ªÊ¼Ç°µÄ״̬²¢ÔÚÐ޸IJÎÊý»òÖ´ÐÐÒ»¸ö»Ö¸´²Ù×÷ºóÖØÐÂÔËÐк¯Êý¾Í·Ç³£ÈÝÒס£ 
Ôڻعöµ½Ò»¸ösavepointºó£¬OracleÊÍ·ÅÓɱ»»Ø¹öµÄÓï¾ä³ÖÓеÄËø¡£ÆäËûµÈ´ý֮ǰ±»Ëø×ÊÔ´µÄÊÂÎñ¿ÉÒÔ½øÐÐÁË¡£ÆäËûÒª¸üÐÂ֮ǰ±»ËøÐеÄÊÂÎñÒ²¿ÉÒÔÖ´ÐС£ 
µ±Ò»¸öÊÂÎñ»Ø¹öµ½Ò»¸ösavepoint£¬·¢ÉúÏÂÁÐʼþ£º 
1. Oracle½ö»Ø¹ösavepointÖ®ºóµÄÓï¾ä¡£ 
2. Oracle±£ÁôÕâÒ»savepoint£¬µ«ËùÓн¨Á¢Óڴ˺óµÄsavepoints¶ªÊ§¡£ 
3. OracleÊÍ·ÅÔÚ¸Ãsavepointºó»ñµÃµÄËùÓÐ±í¡¢ÐÐËø£¬µ«±£Áô֮ǰ»ñµÃµÄËùÓÐËø¡£ 
ÊÂÎñ±£³Ö»î¶¯²¢¿É¼ÌÐø¡£ 
ÎÞÂÛºÎʱһ¸ö»á»°ÔڵȴýÊÂÎñ£¬µ½savepointµÄ»Ø¹ö²»»áÊÍ·ÅÐÐËø¡£ÎªÁËÈ·±£ÊÂÎñÈç¹ûÎÞ·¨»ñµÃËøÒ²²»»áÐü¹Ò£¨hang£©£¬ÔÚÖ´ÐÐUPDATE»òDELETEǰʹÓÃFOR UPDATE ... NOWAIT¡££¨ÕâÀïÖ¸»Ø¹öµÄsavepoint֮ǰ»ñµÃµÄËø¡£¸Ãsavepointºó»ñµÃµÄÐÐËø»á±»ÊÍ·Å£¬Ö®ºóÖ´ÐеÄÓï¾äÒ²»á±»³¹µ×»Ø¹ö¡££©


Ïà¹ØÎĵµ£º

OracleµÄ»ù±¾²Ù×÷£«Oracle×Ö¶ÎÀàÐÍ£¨zz£©

ÔÚOracle¹ØÓÚʱ¼äÊôÐԵĽ¨±í
Example:
create table courses(
cid varchar(20) not null primary key,
cname varchar(20) not null,
ctype integer,
ctime date DEFAULT SYSDATE,
cscore float not null
)
insert into courses values('ss01','java',0,TO_DATE('2009-8-28','yyyy-mm-dd'),94)
insert into course ......

Oracle×Ö·û´®³¤¶ÈµÄÎÊÌâ

    ½ñÌìÅöµ½Ò»¸öÎÊÌ⣬ͨ¹ýÒ»¸öSQLÓï¾ä²éѯʱ£¬³öÈçÏÂÎÊÌ⣺
       ORA-06502: PL/SQL: numeric or value error: character string buffer too small
       ORA-06512: at "WMSYS.WM_CONCAT_IMPL", line 30
 ÎÊÌâ³öÏÖÔÚͨ¹ýWMSYS. ......

ÈçºÎÐÞ¸ÄOracleĬÈÏÓû§ÃÜÂëÓÐЧÆÚʱ¼ä

ÈçºÎÐÞ¸ÄOracleĬÈÏÓû§ÃÜÂëÓÐЧÆÚʱ¼ä
1¡¢²é¿´Óû§µÄproifleÊÇÄĸö£¬Ò»°ãÊÇdefault£º
     sql>SELECT username,PROFILE from dba_users;
2¡¢²é¿´Ö¸¶¨¸ÅÒªÎļþ£¨Èçdefault£©µÄÃÜÂëÓÐЧÆÚÉèÖãº
     sql>  SELECT * from dba_profiles s WHERE 
   ......

oracle³£¼ûÓï¾ä

----±¾Óû§ËùÓµÓеÄϵͳȨÏÞ:
select * from user_sys_privs;
---±¾Óû§¶ÁÈ¡ÆäËûÓû§¶ÔÏóµÄȨÏÞ:
¡¡select * from user_tab_privs;
-----Ìí¼ÓȨÏÞ
GRANT CREATE USER,DROP  USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY  VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE&nbs ......

oracleÇ¨ÒÆ±í¿Õ¼ä

¿ÉÇ¨ÒÆ±í¿Õ¼ätransport tablespace
¿ÉÇ¨ÒÆ±í¿Õ¼ä
ʹÓÿÉÇ¨ÒÆ±í¿Õ¼ä(Transportable Tablespaces)µÄÌØÐÔÔÚÊý¾Ý¿âÖ®¼äÒÆ¶¯´óÁ¿Êý¾Ý£¬ÐÔÄܱÈexport/importºÍunload/loadÒª¿ìºÜ¶à£¬ÒòΪËüÇ¨ÒÆ±í¿Õ¼äÖ»ÐèÒª¸´ÖÆÊý¾ÝÎļþºÍ²åÈë±í¿Õ¼äÔªÊý¾Ýµ½Ä¿±êÊý¾Ý¿âÖС£
Ç¨ÒÆ±í¿Õ¼ä¶ÔÒÔÏÂÓ¦ÓÃÌØ±ðÓÐÓãº
·Ö½×¶Î½«OLTPµÄÊý¾ÝÒÆÈëÊý¾Ý²Ö¿â
¸ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ