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

在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特權
>修改對於以後的序列號生效
>序列必須是被刪除然後重新產生(使所有相關的對象失效,並且失去相應的關聯)
>修改時還要滿足些其他的驗證條件,比如說新的MAXVALUE不可以比現在的序列號低
刪除序列
DROP SEQUENCE dept_deptid_seq;
>必須要是序列的所有者或者有DROP ANY SEQUENCE的權限


相关文档:

Oracle中几个关于日期方面的SQL实例

№1:取得当前日期是本月的第几周
SQL> select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from
dual;

TO_CHAR(SYSDATE,'YY
-------------------
20030327 4 18:16:09

SQL> select to_char(sysdate,'W') from dual;

T
-
4 ......

ora_01034:oracle not available报错 解决方法

因为强制关机,开机的时候进入数据库报错:
ora_01034:oracle not available
ora_27101:shared memory realm does not exit
解决方法:
1.打开CMD
2.输入 sqlplus "/as sysdba"
3.回车
4.输入 startup
5.结束 ......

Oracle RAC 常用维护工具和命令


Oracle 的管理可以通过OEM或者命令行接口。 Oracle Clusterware的命令集可以分为以下4种:
节点层:osnodes
网络层:oifcfg
集群层:crsctl, ocrcheck,ocrdump,ocrconfig
应用层:srvctl,onsctl,crs_stat
下面分别来介绍这些命令。 
一. 节点层
只有一个命令: osnodes, 这 ......

ORACLE 10 学习笔记命令 第一课。(付首昕)

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& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号