易截截图软件、单文件、免安装、纯绿色、仅160KB

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 常用sqlplus命令

 
一、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 ......

ORACLE分页查询SQL语法


--1:无ORDER BY排序的写法。(效率最高) ­
--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) ­
SELECT * ­
  from (Select ROWNUM AS ROWNO, T.* ­
           from k_task T &s ......

sql语句归纳(oracle)

对日常工作中用到的感觉有用的sql语句做个归纳,用于今后温故知新。
*复制表:
create table tablename  as  select * from table_src;
create table tablename  as  select * from table_src where 1 <> 1; --只复制表结构 ......

oracle数据类型number

Oracle使用标准、可变长度的内部格式来存储数字。这个内部格式精度可以高达38位。
    NUMBER数据类型可以有两个限定符,如:
    column NUMBER ( precision, scale)
    precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。
&nb ......

ORACLE重建所有的索引


declare­
  STR VARCHAR2(400);­
begin­
  -- 重建ORACLE索引­
  FOR TMP_IDX IN (SELECT TABLESPACE_NAME, OWNER, TABLE_NAME, INDEX_NAME­
                  &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号