PostgreSQL/Oracle Table
ͨ³£ÎÒ們ÔÚ½¨Á¢ PostgreSQL/Oracle 資ÁÏ庫µÄ時ºò, Èç¹ûҪʹÓà MySQL/MS-SQL identity À×ͬµÄ¹¦ÄÜ, ¾ÍÊÇÒª採Óà Sequence 來½¨Á¢, ¶ø為ÁËÿһ個 Table ¶¼ÓÐ獨Á¢µÄÐò號產ÉúÆ÷, ÎÒ們會½¨Á¢個別µÄ sequence.
ÀýÈç (PostgreSQL sample):
CREATE SEQUENCE "student_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1;
create table student (
id bigint PRIMARY KEY DEFAULT NEXTVAL('student_seq'),
name character varying(50),
studentno character varying(50)
)
當ÎÒ們ʹÓûù±¾µÄ SQL command ¾ÍÊÇ
Insert into student ( name, studentno ) values ( 'jini', '890099' )
進ÐÐ Insert µÄ動×÷, Ëû×ÔÈ»會幫ÎÒÈ¡µÃ nextval of student_seq 進ÐÐ Insert.
ÄÇ麼, ÔÚ Hibernate annotation 標準µÄ×÷·¨, ¾ÍÊÇ
@Entity
@SequenceGeneratorr(name = "TheSEQ", allocationSize = 1, initialValue = 0, sequenceName = "student_seq")
public class Student implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE
, generator = "TheSEQ")
private Long id;
// other attributes, getters and setters
}
這樣, ÎÒÿһ個 @Id ¶¼µÃ»¨時間寫Ö¸¶¨µÄ sequence name,
雖È»沒ÓÐʲ麼²»ºÃ, µ«ÊÇÎÒ們¿ÉÒÔÀûÓà [tablename]_seq µÄÔ則¶¨義 seq, ¾Í應該¿ÉÒÔ͸過 Dialect 來決¶¨ÎÒµÄ IdGenerator µÄ·½Ê½
ËùÒÔÎÒÏ£Íûδ來µÄ³Ìʽ碼Ö»ÓÐÒÔÏÂËùÁÐ, ÀûÓà AUTO ¶ø·Ç SEQUENCE generated type.
@Entity
public class Student implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
ËäȻѧϰJavaºÜ¾ÃÁË£¬×Ô¼ºÒ²Á¬½Ó¹ýһЩÊý¾Ý¿â£¬±ÈÈçmysqlÖ®ÀàµÄ£¬Èç½ñÄØ£¬Ò²Ñ§Ï°ÁËÒ»¶Îʱ¼äµÄOracle£¬È»¶øÄØ£¬½ñÌìÊÇÎÒµÚÒ»´ÎÁ¬½ÓOracle£¬ºÙºÙ£¬Ó¦¸Ã»¹²»ËãÌ«³Ù°É¡£
½ñÌìÄØ£¬Óе㱿׾£¬´ó¼ÒĪЦ£¡
ÎÒÕâÊÇÒ»¸ö²éѯÀý×Ó
Ê×ÏÈ£¬Ô ......
Ò»¡¢ORACLEµÄÆô¶¯ºÍ¹Ø±Õ
1¡¢ÔÚµ¥»ú»·¾³ÏÂÒªÏëÆô¶¯»ò¹Ø±ÕORACLEϵͳ±ØÐëÊ×ÏÈÇл»µ½ORACLEÓû§£¬ÈçÏÂ
su - oracle
a¡¢Æô¶¯ORACLEϵͳ
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit
b¡¢¹Ø±ÕORACLEϵͳ
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>shutdow ......
--1:ÎÞORDER BYÅÅÐòµÄд·¨¡£(ЧÂÊ×î¸ß)
--(¾¹ý²âÊÔ£¬´Ë·½·¨³É±¾×îµÍ£¬Ö»Ç¶Ì×Ò»²ã£¬ËÙ¶È×î¿ì£¡¼´Ê¹²éѯµÄÊý¾ÝÁ¿ÔÙ´ó£¬Ò²¼¸ºõ²»ÊÜÓ°Ï죬ËÙ¶ÈÒÀÈ»£¡)
SELECT *
from (Select ROWNUM AS ROWNO, T.*
from k_task T &s ......
OracleʹÓñê×¼¡¢¿É±ä³¤¶ÈµÄÄÚ²¿¸ñʽÀ´´æ´¢Êý×Ö¡£Õâ¸öÄÚ²¿¸ñʽ¾«¶È¿ÉÒԸߴï38λ¡£
NUMBERÊý¾ÝÀàÐÍ¿ÉÒÔÓÐÁ½¸öÏÞ¶¨·û£¬È磺
column NUMBER £¨ precision£¬ scale£©
precision±íʾÊý×ÖÖеÄÓÐЧλ¡£Èç¹ûûÓÐÖ¸¶¨precisionµÄ»°£¬Oracle½«Ê¹ÓÃ38×÷Ϊ¾«¶È¡£
&nb ......