Oracel--实现自动编号字段

本文介绍了在SQL Server和Oracle数据库中实现自动增长ID的方法。SQL Server通过identity属性自动增加,而Oracle则利用SEQUENCE来达到类似的效果。文中还提供了一段Oracle中获取序列值的具体代码。
转自http://yxl864.blog.163.com/blog/static/140608558201023001239317/

SQL Server,Sybase:

有個identity屬性可以讓系統自動增1

create table a

(

a1 int identity(1,1),

a2 varchar(6)

)

然後在insert時:

insert into a values('hello!'); --不用管a1,系統會幫你自動增1



Oracle:

使用SEQUENCE(序列)可以達到你的要求

create table a

(

a1 int ,

a2 varchar2(6)

);

create SEQUENCE seq_a INCREMENT BY 1;



然後在insert時:

insert into a values(seq_a.nextval,'hello!'); --seq_a.nextval是該序列的下個值



代码:

decline_id_sql = "select to_char(S_DECLINE_ID.nextval) DECLINE_ID from DUAL";
try {
dba = new DBAccess(con);
ResultSet rs = dba.openSelect(decline_id_sql);
rs.beforeFirst();
if (rs.next()) {
decline_id = StringUtil.escapeSQLTags((rs
.getString("DECLINE_ID")));
}
declineItemBean.setDecline_id(decline_id);
rs.close();
dba.closeSelect();
} catch (Exception ex) {
}
### Oracle 数据库字段数据类型概述 在 Oracle 数据库中,字段的数据类型决定了可以存储在列中的数据种类以及如何处理这些数据。常见的数据类型包括字符型、数值型、日期时间型和大对象(LOB)等。 #### 常见的数据类型分类 1. **字符型** - `CHAR(size)`:固定长度字符串,最大长度为2000字节。 - `VARCHAR2(size)`:可变长度字符串,最大长度为4000字节。 2. **数值型** - `NUMBER(p,s)`:用于表示整数或浮点数,`p` 表示精度,`s` 表示小数位数。 3. **日期时间型** - `DATE`:存储日期和时间信息,默认格式取决于NLS_DATE_FORMAT参数设置。 - `TIMESTAMP[(fractional_seconds_precision)]`:提供更高精度的时间戳记录,支持到秒的小数部分。 4. **大对象 (LOB) 类型** - `CLOB` 和 `NCLOB`:用于存储大量文本数据。 - `BLOB`:用于存储二进制大数据,如图片、文档等。 - `BFILE`:指向操作系统文件的外部指针,允许读取而不加载整个文件入内存。 5. **其他特殊类型** - `RAW(size)`:用于存储未解释的二进制数据,适合保存图像、声音或其他多媒体内容[^2]。 - `ROWID`:唯一标识表中每一行物理位置的信息。 - `UROWID`:通用行地址,可用于索引组织表。 当需要修改现有字段的数据类型时需要注意一些限制条件。例如,在存在非NULL值的情况下直接改变字段类型通常是不可能的操作;对于某些特定情况下的变更操作可能还需要创建临时表格来辅助完成转换过程[^1]。 ```sql -- 修改字段类型的SQL语句模板 ALTER TABLE table_name MODIFY column_name new_data_type; ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值