ÔÚOracleÖÐʹÓÃ×Ô¶¯µÝÔöÁÐ
ÔÚOracleÖÐʹÓÃ×Ô¶¯µÝÔöÁÐ
Oracle 沒ÓÐ類ËÆ MS-SQL ¿ÉÒÔÖ±½ÓÐÞ¸Ä欄λ屬ÐÔ£¬設¶¨³É×Ô動編號欄룬ËùÒÔÎÒ們±Ø須͸過 Sequence Îï¼þµÄ nextval ·½·¨£¬È¡µÃÆäÏÂÒ»個Öµ£¬È»áá將´ËÖµÐÂÔöÖÁ TABLE ÖУ¬製Ôì³öÓÐ×Ô動編號µÄЧ¹û¡£
½¨Á¢Sequence Îï¼þµÄ語·¨£º
CREATE SEQUENCE sequence_name
MINVALUE value
MAXVALUE value
START WITH value
INCREMENT BY value
CACHE value;
//½¨Á¢ Table
Create Table MarsTest(
ID_ NUMBER(10,0) NOT NULL,
Content VARCHAR2(250)
);
//½¨Á¢ Sequence
1.ʹÓÃ預設Öµ
Create Sequence Seq_MarsTest;
2.ʹÓÃ×Ô訂
Create Sequence Seq_MarsTest
MINVALUE 1
MAXVALUE 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 20;
µ÷Óãº
//ÐÂÔö資ÁÏ
INSERT INTO MarsTest(ID_, Content)
VALUES (Seq_MarsTest.NEXTVAL, 'MarsTest');
從ÉÏÃæµÄÀý×Ó£¬ÎÒ們Ò²¿ÉÒÔ發現µ½£¬ÎÒ們ÊÇÔÚ INSERT 時£¬²Å將 Sequence 與 Table 產Éú關係£¬ËùÒÔ Sequence ²»Ö»ÊÇÌṩ給ÌØ¶¨ Table ʹÓã¬Ò²ÄÜ給ÆäËûÈÎÒ»個 Table ¹²Óá£
¸½£º
ÐÞ¸ÄÐòÁÐ
ALTER SEQUENCE dept_deptid_seq
INCREMENT BY 20
MAXVALUE 999999999999999999999999999
NOCACHE
NOCYCLE;
規則:
>±Ø須為ÐòÁеÄËùÓÐÕß»òÕß擁ÓÐALTERÌØ權
>ÐÞ¸Ä對ì¶ÒÔááµÄÐòÁÐ號ÉúЧ
>ÐòÁбØ須ÊDZ»刪³ýÈ»ááÖØÐÂ產Éú(ʹËùÓÐÏà關µÄ對ÏóʧЧ,並ÇÒʧȥÏà應µÄ關聯)
>ÐÞ¸Ä時還Òª滿×ãЩÆäËûµÄ驗證條¼þ,±ÈÈç說еÄMAXVALUE²»¿ÉÒÔ±È現ÔÚµÄÐòÁÐ號µÍ
刪³ýÐòÁÐ
DROP SEQUENCE dept_deptid_seq;
>±Ø須ÒªÊÇÐòÁеÄËùÓÐÕß»òÕßÓÐDROP ANY SEQUENCEµÄ權ÏÞ
Ïà¹ØÎĵµ£º
±¾ÎÄÖ÷Òª´Ó´óÐÍÊý¾Ý¿âORACLE»·¾³Ëĸö²»Í¬¼¶±ðµÄµ÷Õû·ÖÎöÈëÊÖ£¬·ÖÎöORACLEµÄϵͳ½á¹¹ºÍ¹¤×÷»úÀí£¬´Ó¾Å¸ö²»Í¬·½Ãæ½ÏÈ«ÃæµØ×ܽáÁËORACLEÊý¾Ý¿âµÄÓÅ»¯µ÷Õû·½°¸¡£
¹Ø¼ü´Ê ORACLEÊý¾Ý¿â»·¾³µ÷ÕûÓÅ»¯Éè¼Æ·½°¸
¶ÔÓÚORACLEÊý¾Ý¿âµÄÊý¾Ý´æÈ¡£¬Ö÷ÒªÓÐËĸö²»Í¬µÄµ÷Õû¼¶±ð£¬µÚÒ»¼¶µ÷ÕûÊDzÙ×÷ÏµÍ ......
1¡¢Ê²Ã´ÊÇ´æ´¢¹ý³Ì¡£´æ´¢¹ý³ÌÊÇÊý¾Ý¿â·þÎñÆ÷¶ËµÄÒ»¶Î³ÌÐò£¬ËüÓÐÁ½ÖÖÀàÐÍ¡£Ò»ÖÖÀàËÆÓÚSELECT²éѯ£¬ÓÃÓÚ¼ìË÷Êý¾Ý£¬¼ìË÷µ½µÄÊý¾ÝÄܹ»ÒÔÊý¾Ý¼¯µÄÐÎʽ·µ
»Ø¸ø¿Í»§¡£ÁíÒ»ÖÖÀàËÆÓÚINSERT»òDELETE²éѯ£¬Ëü²»·µ»ØÊý¾Ý£¬Ö»ÊÇÖ´ÐÐÒ»¸ö¶¯×÷¡£ÓеķþÎñÆ÷ÔÊÐíͬһ¸ö´æ´¢¹ý³Ì¼È¿ÉÒÔ·µ»ØÊý¾ÝÓÖ¿ÉÒÔÖ´Ðж¯×÷¡£
2¡¢Ê²Ã´Ê±ºòÐèÒªÓô洢¹ý³Ì
......
ORACLE 10 ѧϰ±Ê¼ÇÃüÁîµÚÒ»¿Î¡£
1.
sqlplus /nolog
connect /as sysdba
alter user scott account unlock;
alter user scott identified by manager;
2.
grant select on dept to nmerp;
revoke select on dept to nmerp;
select * from scott.dept
create table abc(a varchar2(10),b char(10));
alter& ......