ͨ¹ý´´½¨ÐòÁÐÀ´ÊµÏÖORACLE SEQUENCEµÄ¼òµ¥½éÉÜ
ÔÚoracleÖÐsequence¾ÍÊÇËùνµÄÐòÁкţ¬Ã¿´ÎÈ¡µÄʱºòËü»á×Ô¶¯Ôö¼Ó£¬Ò»°ãÓÃÔÚÐèÒª°´ÐòÁкÅÅÅÐòµÄµØ·½¡£
1¡¢Create Sequence
ÄãÊ×ÏÈÒªÓÐCREATE SEQUENCE»òÕßCREATE ANY SEQUENCEȨÏÞ£¬
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- ÿ´Î¼Ó¼¸¸ö
START WITH 1 -- ´Ó1¿ªÊ¼¼ÆÊý
NOMAXVALUE -- ²»ÉèÖÃ×î´óÖµ
NOCYCLE -- Ò»Ö±ÀÛ¼Ó£¬²»Ñ»·
CACHE 10;
Ò»µ©¶¨ÒåÁËemp_sequence£¬Äã¾Í¿ÉÒÔÓÃCURRVAL£¬NEXTVAL
CURRVAL=·µ»Ø sequenceµÄµ±Ç°Öµ
NEXTVAL=Ôö¼ÓsequenceµÄÖµ£¬È»ºó·µ»Ø sequence Öµ
±ÈÈ磺
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
¿ÉÒÔʹÓÃsequenceµÄµØ·½£º
- ²»°üº¬×Ó²éѯ¡¢snapshot¡¢VIEWµÄ SELECT Óï¾ä
- INSERTÓï¾äµÄ×Ó²éѯÖÐ
- NSERTÓï¾äµÄVALUESÖÐ
- UPDATE µÄ SETÖÐ
¿ÉÒÔ¿´ÈçÏÂÀý×Ó£º
INSERT INTO emp VALUES
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);
SELECT empseq.currval from DUAL;
µ«ÊÇҪעÒâµÄÊÇ£º
- µÚÒ»´ÎNEXTVAL·µ»ØµÄÊdzõʼֵ£»ËæºóµÄNEXTVAL»á×Ô¶¯Ôö¼ÓÄ㶨ÒåµÄINCREMENT BYÖµ£¬È»ºó·µ»ØÔö¼ÓºóµÄÖµ¡£CURRVAL ×ÜÊÇ·µ»Øµ±Ç°SEQUENCEµÄÖµ£¬µ«ÊÇÔÚµÚÒ»´ÎNEXTVAL³õʼ»¯Ö®ºó²ÅÄÜʹÓÃCURRVAL£¬·ñÔò»á³ö´í¡£Ò»´ÎNEXTVAL»áÔö¼ÓÒ»´ÎSEQUENCEµÄÖµ£¬ËùÒÔÈç¹ûÄãÔÚͬһ¸öÓï¾äÀïÃæÊ¹Óöà¸öNEXTVAL£¬ÆäÖµ¾ÍÊDz»Ò»ÑùµÄ¡£Ã÷°×£¿
- Èç¹ûÖ¸¶¨CACHEÖµ£¬ORACLE¾Í¿ÉÒÔÔ¤ÏÈÔÚÄÚ´æÀïÃæ·ÅÖÃһЩsequence£¬ÕâÑù´æÈ¡µÄ¿ìЩ¡£cacheÀïÃæµÄÈ¡Íêºó£¬oracle×Ô¶¯ÔÙȡһ×éµ½cache¡£ ʹÓÃcache»òÐí»áÌøºÅ£¬ ±ÈÈçÊý¾Ý¿âͻȻ²»Õý³£downµô£¨shutdown abort),cacheÖеÄsequence¾Í»á¶ªÊ§. ËùÒÔ¿ÉÒÔÔÚcreate sequenceµÄʱºòÓÃnocache·ÀÖ¹ÕâÖÖÇé¿ö¡£
2¡¢Alter Sequence
Äã»òÕßÊǸÃsequenceµÄowner£¬»òÕßÓÐALTER ANY SEQUENCE ȨÏÞ²ÅÄܸ͝sequence. ¿ÉÒÔalter³ýstartÖÁÒÔÍâµÄËùÓÐsequence²ÎÊý.Èç¹ûÏëÒª¸Ä±ästartÖµ£¬±ØÐë drop sequence ÔÙ re-create .
Alter sequence µÄÀý×Ó
ALTER SEQUENCE emp_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- µ½10000ºó´ÓÍ·¿ªÊ¼
NOCACHE ;
Ó°ÏìSequenceµÄ³õʼ»¯²ÎÊý£º
SEQUENCE_CACHE_ENTRIES =ÉèÖÃÄÜͬʱ±»cacheµÄsequenceÊýÄ¿¡£
¿ÉÒԺܼòµ¥µÄDrop Sequence
DROP SEQUENCE order_seq;
Ïà¹ØÎĵµ£º
ÔÚÊý¾Ý¿âÖо³£ÒªºÏ²¢×Ö·û´®£¬¶øºÏ²¢×Ö·û´®µÄ·½·¨Óкܶ࣬ÏÖÔÚ×ܽáÈçÏ£º
--´´½¨»á»°¼¶ÁÙʱ±í
create global temporary table TMPA
(
ID INTEGER,
NAME VARCHAR2(10)
)
on commit preserve rows;
--²åÈë¼Ç¼
insert into tmpa select 1,'aa' from dual;
insert into tmpa select 1,'bb ......
ÔÚdb2ºÍoracleÖеĶÔÊ÷µÄµÝ¹é²éѯÓï¾ä¡£
±í½á¹¹£º
create table MAIN_NODE (
MLA_ID INTEGER not null , //½ÚµãID
MLA_ROOTID &nb ......
²»ÊÇORACLEµÄÎÊÌâ
2009-12-30 15:00
  ......
oracle±íÖÐÓÐDateÀàÐ͵Ä×ֶΣ¬ÓÃPD×Ô¶¯Éú³É²âÊÔÊý¾Ý£¬¸ñʽΪ‘yyyy-mm-dd’£¬¶øoracleÖвåÈëDateÀàÐ͵Ä×ֶθñʽΪ'dd-mmÔÂ-yyyy'¡£Èç¹ûÊý¾ÝÁ¿ÉÙ£¬¿ÉÒÔÓÃto_date()£¬
to_date('2008-01-25 12:39:49','YYYY-MM-DD HH24:MI:SS')
µ«ÊDzâÊÔÓÃÊý¾ÝÓÐ10ÍòÌõ£¬Èç¹ûÊܶ¯È¥Ð´ÏÔÈ»ÊDz»Êµ¼ÊµÄ¡ ......
1. ͨ¹ýv$session£¬v$locked_object²é¿´ËËø¶¨ÁË×ÊÔ´
select t1.sid, t1.serial#, t1.username, t1.logon_time
from v$session t1 , v$locked_object t2
where t1.sid = t2.session_id
order by t1.logon_time
......