sql建自增序列号
2015-07-08 15:47
344 查看
第一步:创建一个表。 复制代码 代码如下: create table Test_Table ( ID number(11) primary key, Name varchar(50) not null, Value1 varchar(50) not null ) 第二步:创建一个自增序列以此提供调用函数。 复制代码 代码如下: create sequence AutoID start with 1 //根据需要自己可修改该数值 increment by 1 //步长值 minvalue 1 nomaxvalue 其实到此步骤,已经可以实现字段自增了。新增记录时看如下代码: 复制代码 代码如下: Insert into Test_Table(ID,Name,Value1)values(AutoID.nextval,'xiyang','blog') |
1、关于主键:在建表时指定primary key字句即可: create table test( id number(6) primary key, name varchar2(30) ); 如果是对于已经建好的表,想增加主键约束,则类似语法: alter table test add constraint pk_id primary key(id); 其中add constraint 和 primary key是关键字,pk_id是主键名称,自定义的额,只要不重复即可。 2、关于id自增功能,也很简单,而且比较灵活。 (1)首先建立一个序列(就是每次查询会自动增加值的绝不重复的对象,比如每次加1或每次加10)。语法: CREATE SEQUENCE 序列名 [INCREMENT BY n] --每次加几 [START WITH n] --序列从几开始 [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] --最小值、最大值的限制 比如CREATE SEQUENCE s_test start with 1 increment by 1; --就是建立了额一个从1开始每次加1的序列。 访问序列时,用 序列名称.nextval的语法。 比如对于上表,如果想要id字段实现自增。则在每次插入记录时,使用下面类似的语法(前提是表和序列已经建好)。 insert into test values (s_test.nextval,'张三'); 当然,你也可以自动一些,对表的插入操作,建立一个触发器,每当有数据插入时,触发器自动修改id值为序列的新值,这样就完全实现自增id功能了。不过其实也没有这个必要。因为触发器如果建多了,有时会比较混乱,不易管理。 来自 <http://zhidao.baidu.com/question/358461319.html> |
相关文章推荐
- 查看MYSQL数据库中所有用户及拥有权限
- 通过jdbc获取数据库表字段信息
- oracle 插入带有单引号的字段值
- mysql 死锁检查
- SQL Server 基础知识学习总结01
- Ubuntu下Memcache的安装与基本使用
- plsql连接配置
- mysql索引原理相关问题
- 分组统计并计算每组数量sql
- 在sql里面加判断条件
- pl/sql developer 中文字段显示乱码
- JAVA调用Oracle分页SQL用法
- Oracle Sql 中常用字符串处理函数
- MySQL的字符串函数截取字符
- Sentinel redis集群配置
- redis单机安装
- 数据库导出到excel
- Redhat 6.2安装Oracle 11g客户端及遇到的问题分析
- excel读入数据库
- mysql jdbc