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

Oracle 自增长字段

建SEQUENCE序列 
CREATE SEQUENCE  序列名字(例如:"URLIMAGE_SEQ")  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 101 CACHE 10 NOORDER  NOCYCLE ;
 
建trigger 触发器
create or replace trigger 触发器名字(例如:URLIMAGE_TRI )
  before insert
    on 映射的表名(例如:URLIMAGE )
    for each row
begin
  select  刚建的序列名(例如:URLIMAGE_seq).nextval into :new.增长字段名(例如:PICID) from dual;
end;
通过创建序列来实现
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返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。明白?
- 如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。
2、Alter Sequence
你或


相关文档:

ORACLE 10G常用命令

---创建表空间
create tablespace 表空间名字 datafile 'F:\oracle\product\10.2.0\oradata\wsdata\yss01.dbf' size 4096M;
alter tablespace 表空间名字 add datafile 'F:\oracle\product\10.2.0\oradata\wsdata\yss02.dbf' size 4096M;
alter tablespace 表空间名字 add datafile 'F:\oracle\product\10.2.0\oradata\w ......

oracle中nvarchar2字符集不匹配

oracle当多表union时遇到nvarchar2类型时报错 字符集不匹配
对使用nvarchar的地方,加上 to_char( nvarchar 的变量或字段 )
如:
select to_char(name),price from aa
union all
select  to_char(name),price from bb
3张表aa,bb,cc都有 name price 字段 查询价格最高的前3位姓名
select * from(select to_ch ......

Oracle中事务管理的概念


在Oracle中一个事务是由一个可执行的SQL语句开始,一个可执行SQL语句产生对实例的调用。在事务开始时,被赋给一个可用回滚段,记录该事务的回滚项。一个事务以下列任何一个出现而结束。
◆当COMMIT或ROLLBACK(没有SAVEPOINT子句)语句发出。
◆一个DDL语句被执行。在DDL语句执行前、后都隐式地提交。
◆用户撤消对Ora ......

oracle 下载地址

oracle 9i
http://www.oracle.com/technology/global/cn/software/products/oracle9i/index.html
oracle 9i 在线文档
http://download.oracle.com/docs/cd/B10501_01/nav/docindex.htm
oracle 10g/11g 下载
http://www.oracle.com/technology/software/products/database/index.html ......

Oracle中Oradim工具的用法

创建例程:
-NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m] [-PFILE 文件] [-TIMEOUT 秒]
编辑例程:
-EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE 文件名]      [-SHUTMODE a|i|n]     [-SHUTTYPE srv ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号