现在的位置: 首页 > 综合 > 正文

Oracle常用操作sql

2012年05月19日 ⁄ 综合 ⁄ 共 4394字 ⁄ 字号 评论关闭

1.连接到其他数据库

  修改tnsnames.ora,在其末尾添加新数据库连接信息即可,格式可模仿已存在数据库连接。

2. SQL*Plus  & PL/SQL Developer

  可在Oracle客户端里使用SQL Plus Worksheet 或 SQL Plus 进行数据库的各种操作。

  使用PL/SQL Developer更为方便。

3.表空间

(1)uniform size是什么?
oracle中表,索引,分区等都叫做段,每个段是有多个物理上不连续的区间组成;当段的空间不够是Oracle是通过增加区间来实现的。UNIFORM SIZE就是这个表空间中所有的区间是同样的大小,好处是防止碎片。

(2)uniform size应设为多大?
目的是希望一个segment上不要有过多的extents,如果你的表大小差距很大,最好分别放到不同的tablespace中,设置不同的extent uniform size,我觉得一个segment的extent不应该超过300个,比较好。extend 多了容易引起碎片问题,9i中建议单个tablespace 的 extend 数量不要超过4096个,所以大object对应的tablespace应该选取大一些的extend,反之就选小一点的。

创建表空间

4.表(table)

创建具有初始内容的表
添加删除列

--添加字段
alter table table1 add (col1 type1,col2 type2)
comment
on column table1.col1 is '字段1'

--删除字段
alter table table1
drop column col1
添加删除多列

--添加多列:
ALTER TABLE TABLENAME
ADD
(A
NUMBER ,B VARCHAR2(40) ,C DATE );
e.g:
ALTER TABLE PI_BDSURL ADD
(
PROVINCECONFIRMRESULTSTATEID
VARCHAR2(20),
PROVINCECONFIRMRESULTSTATE
VARCHAR2(40),
PROVINCECONFIRMATTITUDE
VARCHAR2(400),
PROVINCECONFIRMER
VARCHAR2(20),
PROVINCECONFIRMDATE DATE
);

--删除多列:
ALTER TABLE table_name DROP {COLUMN column_names | (column_names)} [CASCADE CONSTRAINS]
e.g:
alter table PI_BDSURL drop
(
PROVINCECONFIRMRESULTSTATEID,
PROVINCECONFIRMRESULTSTATE,
PROVINCECONFIRMATTITUDE,
PROVINCECONFIRMER,
PROVINCECONFIRMDATE
);
修改列名

alter table table_name rename column old_value to new_value;

5. 序列(sequence)和递增字段

添加递增字段

--创建触发器,设置systemid为递增序列
create trigger test_trig
before 
insert on hr.test
for each row
begin
select test_seq.nextval into :new.systemid from dual;
end;

6.视图(view) 

创建视图

7.存储过程(procedure)

创建存储过程
存储过程中的循环语句

create or replace procedure p_getpoints
is
i
int;
begin
i :
=1;
loop
delete
from dempoint t1
where t1.height not in (select max(t2.height) from dempoint t2 where t2.index=i) and t1.index =i;
exit when i =500;
i :
=i+1;
end loop;
end;

8 用户

删除用户及其对象

9 pl/sql command

pl/sql developer command

10 查看oracle版本

select * from product_component_version
select * from v$instance

  select * from product_component_version

  select * from v$instance

参考:Oracle Sequence 相关知识(收集)

        oracle表空间

        PL SQL 数据库导出导入

        经典SQL语句收集

【上篇】
【下篇】

抱歉!评论已关闭.