Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 ´æ´¢¹ý³Ì·µ»Ø½á¹û¼¯ÓÃ

Oracle ´æ´¢¹ý³Ì·µ»Ø½á¹û¼¯Óà ref cursor ʵÏÖ¡£ÊÔÑé²½ÖèÈçÏ£º
1. ½¨Á¢ ref cursor ÀàÐͺ͹ý³Ì
CREATE OR REPLACE PACKAGE types
AS
    TYPE ref_cursor IS REF CURSOR;
END;
/
CREATE TABLE STOCK_PRICES(
    RIC VARCHAR(6) PRIMARY KEY,
    PRICE NUMBER(7,2 ......

Ubuntu10.04ϰ²×°Oracle 10G






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
¹«ÍøÖÕÓÚͨµÄ£¬ÎÒµÄubuntu
Ò²ÖÕÓÚ¿ÉÒÔ¼ÌÐøÊ¹ÓÃÁË¡£¡£¡£


Ê×ÏȰѱ¾×ÓµÄubuntu
´Ó9.04
Éý¼¶µ½10.04
£¬·¢ÏÖϵͳ±ä³ÉÓ¢ºº»ìÓÃÁË£¬ÖØÑ¡ÓïÑÔÖ§³Ö°üÒ²²»¿ÉÒÔ£¬ÊäÈë·¨Ò²Ìí¼Ó²»ÉÏ£¬µ¹ÊÇûÓÐÍøÉÏÓÐÈËÌáµ½µÄϵͳÏìÓ¦·Ç³£»ºÂýµÄÎ ......

oracle ´æ´¢¹ý³ÌµÄ»ù±¾Óï·¨ ¼°×¢ÒâÊÂÏî

oracle ´æ´¢¹ý³ÌµÄ»ù±¾Óï·¨ ¼°×¢ÒâÊÂÏî
oracle ´æ´¢¹ý³ÌµÄ»ù±¾Óï·¨
1.»ù±¾½á¹¹
CREATE OR REPLACE PROCEDURE ´æ´¢¹ý³ÌÃû×Ö
(
    ²ÎÊý1 IN NUMBER,
    ²ÎÊý2 IN NUMBER
) IS
±äÁ¿1 INTEGER :=0;
±äÁ¿2 DATE;
BEGIN
END ´æ´¢¹ý³ÌÃû×Ö
2.SELECT INTO STATEMENT
  ½«selec ......

Oracle¶Î¸ßˮλ(HWM, high water mark)ÎÊÌâ

Oracle¶Ô±í×öÈ«±íɨÃèµÄʱºò
£¬»áɨÃèÍêHWMÒÔÏÂ
µÄÊý¾Ý¿é¡£Èç¹ûij¸ö±ídelete(delete²Ù×÷²»»á½µµÍ¸ßˮλ)ÁË´óÁ¿Êý¾Ý£¬ÄÇôÕâʱ¶Ô±í×öÈ«±íɨÃè¾Í»á×öºÜ¶àÎÞÓù¦£¬É¨ÃèÁËÒ»´ó¶ÑÊý¾Ý¿é£¬×îºó·¢ÏÖ¿éÀïÃæ¾ÓȻûÓÐÊý¾Ý¡£
ͨ³££¬ÔÚ¶Ô±í×öÁË´óÅúÁ¿delete²Ù×÷Ö®ºó£¬¾ÍÓ¦¸ÃÂíÉϽµµÍ±íµÄ¸ßˮ룬¿ÉÒÔʹÓÃshrink ÃüÁî»òÕßalter&n ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ