Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1476898
  • 博文数量: 463
  • 博客积分: 10540
  • 博客等级: 上将
  • 技术积分: 5450
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-12 08:30
文章分类

全部博文(463)

文章存档

2014年(2)

2012年(14)

2011年(42)

2010年(18)

2009年(78)

2008年(35)

2007年(182)

2006年(92)

我的朋友

分类: Oracle

2009-04-06 22:26:51

//创建临时表空间(日志文件)
create temporary tablespace test_temp
tempfile 'E:\oracle\test_temp01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//创建数据表空间
create tablespace test_data
logging
datafile 'E:\oracle\test_data01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//创建用户并指定表空间
create user 用户名 identified by 密码
default tablespace test_data
temporary tablespace test_temp;
//给用户授予权限
grant connect,resource to 用户名
————————————————————————————————————
create cluster s_t_cluster(tid number(8));--创建索引簇
----------------------------------------------------1
--建立簇表stu
create table stu(
       tid number(8),
       sname varchar2(50),
       sinfo varchar2(50),
       constraint pk_tid primary key(tid)
)cluster s_t_cluster(tid)
--建立簇表sc
create table sc(
       tid number(8),
       score number(8),
       constraint fk_tid foreign key(tid) references stu(tid)
)cluster s_t_cluster(tid)
------------------------------------------------------2
--建立簇索引
create index s_t_idx on cluster s_t_cluster;
------------------------------------------------------3
--插入数据
insert into stu(tid,sname,sinfo)values(1,'haha','usa');
insert into stu(tid,sname,sinfo)values(2,'gaga','Japan');
insert into sc values(1,90);
insert into sc values(2,85);
--查询
select s.sname,s.sinfo,i.score from stu s,sc i where s.tid=i.tid
--建立序列
create sequence stu_SEQ
minvalue 1
maxvalue 99999999
start with 3
increment by 1
cache 20;
--用命令插入N条数据往表stu
declare
x number;
begin
  for x in 1..100000 loop
    insert into stu values(stu_seq.nextval,'名字'||x,'地址'||x);
  end loop;
end;
---------------------------------------------
--用命令插入N条数据往表sc
declare
x number;
begin
  for x in 1..10000 loop
    insert into sc values(sc_seq.nextval,x+50);
  end loop;
end;
---------------------------------------------
--查询
select s.sname,s.sinfo,i.score from stu s,sc i where s.tid=i.tid--未加索引时的普通查询太慢了
--使用索引簇查询
select s.sname,s.sinfo,i.score from stu s,sc i where s.tid=i.tid
————————————————————————————————————————
//创建表,序列号(sequence)
create table test1(
       tid number(8),
       tname varchar2(50),
       tbd date,
       constraint pk_tid primary key(tid)
)
select * from test1
==============================================================
create sequence test1Seq --自定义的序列名
increment by 1           --每次加几个,即递增的间隔
start with 1             --从1开始计数
nomaxvalue               --不设置最大值
nocycle                  --一直累加,不循环
cache 10;
==============================================================
insert into test1(tid,tname,tbd)values(test1Seq.Nextval,'ccc',sysdate);
阅读(650) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~