易截截图软件、单文件、免安装、纯绿色、仅160KB

北大青鸟oracle学习笔记12


关系型数据库理论中字段值必须是单值,而oracle中允许在一个字段中存储一个表的内容。
如:员工表中的外键 部门编号,oracle中这个字段可以存放部门的记录而并不是一个外键,这样查询时候的效率会提高。
可变数组:
创建带有可变数组的表
创建可变数组基类型
create or replace type 基类型名 as object(字段清单);
创建可变数组类型
create or replace 可变数组类型名 as varray(最大行数) of 可变数组的基类型;
实例:
create or replace type mingxitype as object
(
goodsid varchar(15),
incount int,
providerid varchar(10)
);
create or replace type arrmingxitype as varray(100) of mingxitype;
创建一个主表
create table instock
(
orderid int primary key,
indate date,
mingxi arrmingxitype
);
利用构造函数插入数据
insert into instock values(
'200208070001',
to_date('2002-08-07','yyyy-mm-dd'),
arrmingxitype(
mingxitype('101',10,'S01'),
mingxitype('102',20,'S02')
)
);
查询
select * from instock;则显示对象而并不是像关系数据库那样的表单
select * from table(
select s.mingxi from instock s where orderid = 1001
);
此时显示的是可变数组中的信息而没有主表中的信息。
table函数要求内部子查询必须明确确定一条记录!
修改可变数组比较麻烦,必须修改整个数组的记录。所以可变数组常使用在基本不需要修改的记录(如历史记录等)
update instock set mingxi = arrmingxitype(
mingxitype('101',20,'S01'),
mingxitype('102',30,'S02')
)where orderid = '200208070001';
删除记录操作与关系型数据库一致,删除整条主记录。
delete from instock where orderid = '1001';


相关文档:

北大青鸟oracle学习笔记1~2

    这学期准备花少许时间研究一下oracle,台式机的Ubuntu不稳定老坏,放弃了linux上使用oracle的想法,在自己笔记本上装了一个oracle 10g express版本,学习一下。
    本来还想用云端虚拟化一下oracle,实验失败,老老实实让oracle侵入我的系统。。。囧
    安装完 ......

oracle 9i/10g安装包和PATCH下载地址汇总

oracle 9i/10g安装包和PATCH下载地址汇总
把下面的地址复制到讯雷里就可以下载.
---------------------------------------------------------------------------------------------------
ORACLE 9i
Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP
http://download.oracle ......

北大青鸟oracle学习笔记7

oracle表分区
oracle允许用户对表进行进一步规划,即对表进行进一步拆分,将表分成若干个逻辑部分,灭个不妨称其为表分区
范围分区:
根据表中列值的范围进行分区
语法:Partition by range(字段名)(
Partition 分区名 values less than (60), --60以下
Partition 分区名 values less than (75), --60~75
......

SQLServer和Oracle常用函数对比

SQLServer和Oracle是大家经常用到的数据库,在此总结出这些常用函数以供
大家参考。
数学函数
  1.绝对值
  S:select abs(-1) value
  O:select abs(-1) value from dual
  2.取整(大)
  S:select ceiling(-1.001) value
  O:select ceil(-1.001) value from dual
  3.取整(小)
  S:s ......

Oracle中to_char()参数详解

 1 -  /  ,  . ; :
"text" 时间分隔符号,除了标准的几个,还允许用文字作为分割符号。
例如 to_char(sysdate,'YYYY"年"mm"月"dd"日"')=2008年04月24日
 2 AD
A.D.  即拉丁文Anno Domini的简写,表示公元.会根据nls的不同转换为公元或者ad等
无特殊注意事项
 3 AM
A.M.  上 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号