码迷,mamicode.com
首页 > 数据库 > 详细

oracle见表

时间:2017-11-16 18:43:57      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:varchar   seq   传统   phone   not   incr   name   min   最小   

1.默认是用当前时间

create table test
(id int,
time date default sysdate);

2.自动生成guid

 Oracle8i引入了SYS_GUID这个概念,它同Oracle管理员所使用的传统的序列(sequence)相比具有诸多优势。一个序列生成器只是简单地创建从给定的起点开始的一系列整数值,而且它被用在选择陈述式的时候自动地递增该系列。 

-根据数据库设计说明书创建表
--GOODS
create table goods1
(
gid number(11) primary key,
gname varchar2(20) not null unique,
gprice number(18,1) not null,
gnum number(11) not null
);


--实现GOODS1表中主键自动生成(需要使用序列和触发器)
--为GOODS1表创建序列:生成唯一一系列的数
create sequence goods_seq
start with 1     --从1开始
increment by 1  --每次增1
minvalue 1      --最小值
maxvalue 999999999999999   --最大值
nocycle           --不循环取数
cache 10;       --缓存


--为GOODS1表创建触发器,用于自动从序列取值给GOODS1表中GID赋值
create trigger goods_trigger
before insert on goods1         --触发条件:在向GOODS1表中插入数据之前自动触发此触发器
for each row                    --行级触发器:插入的每一行数据都会触发
begin
   select goods_seq.nextval into :NEW.GID from dual;
end;



--向GOODS1表中插入测试数据
INSERT INTO goods1(gname,gprice,gnum) VALUES(‘computer‘,3000,100);
INSERT INTO goods1(gname,gprice,gnum) VALUES(‘computer2‘,3500,100);
INSERT INTO goods1(gname,gprice,gnum) VALUES(‘iphone6‘,4000,200);
INSERT INTO goods1(gname,gprice,gnum) VALUES(‘iphone6s‘,5000,300);
commit;

 

oracle见表

标签:varchar   seq   传统   phone   not   incr   name   min   最小   

原文地址:http://www.cnblogs.com/zyzg/p/7845258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!