ORACLE 对象的使用
--创建对象类型
create or replace type emp_typ as object (
id number,
name varchar2(30),
sal number,
comm number,
member procedure change_comm(new_comm number),
member function get_info return varchar2
) ;
--创建对象类型构造函数定义
create or replace type body emp_typ is
member procedure change_comm(new_comm number)
is
begin
comm:=new_comm;
end;
member function get_info return varchar2
is
v_info varchar2(30);
begin
v_info:='姓名:'||name ||' 工资:'||sal;
return v_info;
end;
end;
--创建带类型的表
create table detail (empt emp_typ,tel number,addr Varchar2(20))
--插入数据
insert into detail values (emp_typ(6666,'yangliping',5000,3000),13675047974,'shanghai caobao')
--更新数据
update detail set empt=emp_typ(7777,'yangliing',3000,2000) where tel=13675047974
--查询数据
select * from detail
结果:
EMPT.ID EMPT.NAME EMPT.SAL EMPT.COMM TEL ADDR
6666 yangliing 8000 5000 13833338888 北京
7777 yangliing 3000 2000 13675047974 shanghai caobao
--删除对象表数据
delete from detail where tel=13675047974
相关文档:
项目中需要使用到按规则生成序列号,开始的解决办法是根据条件取得最大ID号进行分解+1再合并的解决方案,后来发现如果两个客户同时操作的时候出现问题:添加的时候ID已经存在,原因是:A用户在访问取得第MAX(N)记录deID,但是还没有进行增加操作,这时,B用户也取得第MAX(N)记录deID,这是A进行添加操作同时,B也同时进行 ......
select * from (
select cw2.NO WHOLENO,sp1.ARGUMENTNAME TYPENAME,sp2.ARGUMENTNAME BRANDNAME,sp3.ARGUMENTNAME STYLENAME,sp4.ARGUMENTNAME DEPART,so.OPERATORNAME USERNAME
from COM_WHOLE_INFO cw2,SYS_OPERATOR so, SYS_PUBLICARGUMENT sp1, SYS_PUBLICARGUMEN ......
Oracle中的序列号顾名思义就是创建一个序列号,可以在插入或者更新的时候调用,相当于是一个生成器
创建语法:
create sequence myse
increment by 1 --增长度
start with
1 --从哪里增加,就是说下一个获取的值从这个值 ......
ORACLE 10G for RHEL AS 4 安装
验证安装:检查ORACLE所需的程序是否安装均已安装(或更高版本)
compat-db-4.1.25-9.i386.rpm
compat-gcc-32-3.2.3-47.3.i386.rpm
compat-gcc-32-c++-3.2.3-47.3.i386.rpm
compat-libstdc++-33-3.2.3-47.3.i386.rpm
compat-oracle-rhel4-1.0-5.i386.rpm
gcc-3.4.3-9.EL4.i386.rpm
gli ......
ORACLE 分区表 PARTITION table
http://blog.chinaunix.net/u/6889/showart_315897.html
1.1 分区表PARTITION table
在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。
1.1.1 分区表的建立:
某公司的每年产生巨大的销售记录,DBA向公司建议每季度的数据放在一个分区内,以下示范的是该公司1 ......