Oracle建表[自增序列]

创建表

1 create table VACATIONSDAY
2 (
3   fldid    NUMBER(22) not null,
4   fldname  varchar2(200),
5   fldbegindata date,
6   fldenddata date,
7   fldselectid  number(10)
8 );

创建序列自增

1 CREATE SEQUENCE vacationsday_Sequence
2   INCREMENT BY 1 -- 每次加几个
3   START WITH 1 -- 从1开始计数
4   NOMAXVALUE -- 不设置最大值
5   NOCYCLE -- 一直累加,不循环
6   CACHE 100; 

创建触发器

create or replace trigger vacationsday_trigger
--users_trigger    触发器名称
before insert on vacationsday
--users是表名
for each row
declare
nextid number;
begin
IF :new.fldid IS NULL or :new.fldid=0 THEN
 --userid是列名
select vacationsday_Sequence.nextval
--user_Sequence 正是刚才创建的序列
into nextid
from sys.dual;
:new.fldid:=nextid;
end if;
end users_trigger ;

原文地址:https://www.cnblogs.com/zhuziyu/p/8425734.html

时间: 2024-10-13 11:56:18

Oracle建表[自增序列]的相关文章

java 操作oracle 建表,更新记录

1.  建立表的类 import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.PreparedStatement; public class lx01{ public static void main(String[] args) throws SQLException, ClassNotFoundE

Oracle 建表常用数据类型的详解

创建表时,必须为表的各个列指定数据类型.如果实际的数据与该列的数据类型不相匹配,则数据库会拒绝保存.如为学生指定出生日期为"1980-13-31". 在Oracle中,常见的数据类型有: 字符串:字符串分为定长类型char和变长类型varchar2. 数字:整数 number(整数位),小数 number(总长度,小数位),只写number,表示无限制. 日期:date类型,可以保存年月日时分秒. 问题:Oracle中为什么字符串类型为varchar2,它与varchar有什么关系?

基于ORACLE建表和循环回路来创建数据库存储过程SQL语句来实现

一个.概要 在实际的软件开发项目.我们经常会遇到需要创造更多的相同类型的数据库表或存储过程时,.例如.假设按照尾号点表的ID号,然后,你需要创建10用户信息表,的用户信息放在同一个表中. 对于类型同样的多个表,我们能够逐个建立,也能够採用循环的方法来建立.与之相相应的,能够用一个存储过程实现对全部表的操作.也能够循环建立存储过程,每一个存储过程实现对某个特定表的操作. 本文中,我们建立10个员工信息表.每一个表中包括员工工号(8位)和年龄字段,以工号的最后一位来分表.同一时候,我们建立存储过程实

Oracle建表插数据等等

Oracle的表的管理:表名和列的命名规则 . 必须以字母开头 . 长度不能超过30个字符 . 不能使用Oracle的保留字 . 只能使用如下字符 column_name-Z,column_name-z,0-9,$,#等 Oracle支持的数据类型 字符类:char 定长,最大2000个字节. 例子:char(10) 如果内容为'小杰'则前四个字节放'小杰',后添6个空格补全varchar2() 变长 最大4000个字符. 例子:varchar2(10) '小杰',Oracle分配四个字符.这样

oracle 建表空间->创建用户并把表空间分配给用户->给用户授权->导库

首先注意:我参考网上使用的sysdba模式(normal)登陆的,其他的模式建不了用户(个人没有进行其他模式的表空间尝试,如有人尝试欢迎补充,感激不尽) 表空间相当于表的容器(一下所有的操作都适用于oracle10g): --建表空间 create tablespace SOA                        --soa是表空间的名字 datafile 'D:\ a.dbf' size 50m                     --  'D:\ a.dbf' 表空间的存储路径

oracle 建表后添加表注释及字段注释

oracle添加表注释和表字段注释 创建Oracle数据库表时候加上注释 CREATE TABLE t1(id  varchar2(32) primary key,name VARCHAR2(8) NOT NULL,age number,) 添加表注释:COMMENT ON table t1 IS '个人信息'; 添加字段注释:comment on column t1.id  is 'id';comment on column t1.nameis '姓名';comment on column t

Oracle建表,建主键,自增

--建表 create table Test( id number(4) not null primary key, name varchar2(25) ) --序列 create sequence Test_sequence increment by 1--每次增加几个 start with 1  --从1开始计数 minvalue 1 nomaxvalue    --不设置最大值 nocycle       --一直累加,不循环 nocache       --不建缓冲区 --触发器 cre

Oracle建表,修改字段,建序列等语句

建表:CREATE TABLE TB_USER ( id INT NOT NULL , username varchar(32) NOT NULL, password varchar(32) NOT NULL, phone varchar(32) NOT NULL , PRIMARY KEY (id) ) 创建序列: CREATE SEQUENCE SEQ_USER START WITH 1 INCREMENT BY 1; 从1开始,每次加1 select seq_module.nextval

oracle sql 创建表格 oracle建表设置主键自增

1.新建table CREATE TABLE ysb_log( id number(8) primary key not null , tbdate varchar(50) NULL, tb_time varchar(50) NOT NULL, tblog varchar(500) NOT NULL, tbreor varchar2(20) null, bs varchar(50) NOT NULL ); 在Oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按