select y.*, z.Z_NAME,j.JS_NAME from t_yonghu y, t_zhan z,t_juese j where y.fk_z_id=z.z_id and y.fk_js_id=j.js_id
select y.*,z.Z_NAME from t_yonghu y,t_zhan z where y.fk_z_id=z.z_id
union
select y.*,b.BZ_NAME from t_yonghu y,t_banzu b where y.fk_bz_id=b.bz_id
union
select y.*,j.JS_NAME from t_yonghu y,t_juese j where y.fk_js_id=j.js_id
union
select y.*,bu.BM_NAME from t_yonghu y,t_bumen bu where y.fk_bm_id=bu.bm_id
string sql = "select yh_id, yh_username, yh_mima,Get_Z_NAME_BY_ID(fk_z_id) z_name,fk_bz_id,fk_js_id,fk_bm_id, yh_name from (select rownum r,t1.* from t_yonghu t1 where rownum<:y_to) t2 where t2.r>:y_from";
最终查询函数:
create or replace FUNCTION Get_BM_name_BY_ID
(
zid in number
)
RETURN nvarchar2 AS
zname nvarchar2(100);
BEGIN
select t.bm_name into zname from t_bumen t where t.bm_ID=zid ;
RETURN zname;
END Get_BM_name_BY_ID;
create or replace FUNCTION Get_BZ_name_BY_ID
(
zid in number
)
RETURN nvarchar2 AS
zname nvarchar2(100);
BEGIN
select t.bz_name into zname from t_banzu t where t.BZ_ID=zid ;
RETURN zname;
END Get_BZ_name_BY_ID;
create or replace FUNCTION Get_JS_name_BY_ID
(
zid in number
)
RETURN nvarchar2 AS
zname nvarchar2(100);
BEGIN
select t.js_name into zname from T_juese t where t.js_ID=zid ;
RETURN zname;
END Get_JS_name_BY_ID;
create or replace FUNCTION Get_Z_name_BY_ID
(
zid in number
)
RETURN nvarchar2 AS
zname nvarchar2(100);
BEGIN
select t.Z_name into zname from T_zhan t where t.Z_ID=zid ;
RETURN zname;
END Get_Z_name_BY_ID;
最终查询语句:
select YH_ID,YH_USERNAME,YH_MIMA, Get_Z_NAME_BY_ID(t.FK_Z_ID) Z_name ,Get_BZ_name_BY_ID(t.FK_bz_ID) bz_name,Get_BM_name_BY_ID(t.FK_BM_ID) js_name,Get_JS_name_BY_ID(t.FK_JS_ID) js_name,YH_NAME from t_yonghu t
本文链接:http://www.cnblogs.com/zhao123/p/3224297.html,转载请注明。
dmp文件导入导出步骤
1.创建表空间
--datafile 的路径随便给,但是后面的文件命名用dbf
CREATE TABLESPACE DTBS
LOGGING
DATAFILE 'D:\OracleDateFile\DTBS.DBF '
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
2.创建用户并指定表空间
--创建用户并指定表空间
create user test identified by "123456" default tablespace DTBS;
注:用户密码要加引号,不然报错
--给用户授权
grant connect,resource,dba to test;
3.exit
4.导入数据
imp user/pw file=文件路径 full=y
注:导入命令输入后直接回车,不需要加分好,不然会报错,切记切记 !!
--删除用户及用户下的表
drop user test cascade;
--删除表空间及物理文件
drop tablespace DTBS including contents and datafiles;
Oracle 忘记用户名密码怎么办?
(1).打开cmd输入sqlplus/nolog回车;
(2).输入conn/as sysdba;
(3).alter user system identified by 密码
(4).exit
(5).登录
本文链接:http://www.cnblogs.com/yuxia/p/3224762.html,转载请注明。
Oracle11g在分区方面做了很大的提高,不但新增了4种复合分区类型,还增加了虚拟列分区、系统分区、INTERVAL分区等功能。
9i开始,Oracle就包括了2种复合分区,RANGE-HASH和RANGE-LIST。在11g,Oracle一下就提供了4种复合分区:RANGE-RANGE、LIST-RANGE、LIST-HASH和LIST-LIST。
oracle 11g创建、修改、删除list-list组合分区命令如下:
1、--创建list-list组合分区表
create table MYPARTTABLE
(
ID number(10),
NAME varchar2(256),
PROVINCECODE varchar2(2),
AREACODE number(6)
)
partition by list (provincecode)
subpartition by list(areacode)
(
partition MYPARTTABLE_FJ values ('FJ')
(
subpartition MYPARTTABLE_FJ_590 values(590),
subpartition MYPARTTABLE_FJ_591 values(591),
subpartition MYPARTTABLE_FJ_592 values(592)
)
,
partition MYPARTTABLE_XZ values ('XZ')
(
subpartition MYPARTTABLE_XZ_5400 values(5400),
subpartition MYPARTTABLE_XZ_891 values(891),
subpartition MYPARTTABLE_XZ_892 values(892)
)
);
2、--新增一个list-list分区
alter table MYPARTTABLE add partition MYPARTTABLE_LN values('LN');--不带子分区
alter table MYPARTTABLE add partition MYPARTTABLE_LN values('LN')
(
subpartition MYPARTTABLE_LN_2100 values(2100),
subpartition MYPARTTABLE_LN_24 values(24)
);--带子分区
3、--新增一个子分区
alter table MYPARTTABLE modify partition MYPARTTABLE_LN add subpartition MYPARTTABLE_LN_412 values(412);
4、--新增多个分区/子分区
摘自:http://www.searchdatabase.com.cn/showcontent_74959.htm
在Oracle 12c R1之前,一次只可能添加一个新分区到一个已存在的分区表。要添加一个以上的新分区,需要对每个新分区都单独执行一次ALTER TABLE ADD PARTITION语句。
而Oracle 12c只需要使用一条单独的ALTER TABLE ADD PARTITION 命令就可以添加多个新分区,这增加了数据库灵活性。
SQL> alter table MYPARTTABLE modify partition MYPARTTABLE_LN add subpartition MYPARTTABLE_LN_412 values(412),subpartition MYPARTTABLE_LN_414 values(414);
alter table MYPARTTABLE modify partition MYPARTTABLE_LN add subpartition MYPARTTABLE_LN_412 values(412),subpartition MYPARTTABLE_LN_414 values(414)
ORA-14158: 子分区说明太多
5、--删除非唯一的list-list组合分区
alter table MYPARTTABLE drop partition MYPARTTABLE_LN;
alter table MYPARTTABLE drop partition MYPARTTABLE_FJ;
6、--删除唯一的list-list组合分区
alter table MYPARTTABLE drop partition MYPARTTABLE_XZ;
ORA-14083: 无法删除分区表的唯一分区
7、--删除非唯一的子分区
alter table MYPARTTABLE drop subpartition MYPARTTABLE_LN_24;
alter table MYPARTTABLE drop subpartition MYPARTTABLE_LN_412;
8、--删除唯一的子分区
alter table MYPARTTABLE drop subpartition MYPARTTABLE_LN_2100;
ORA-14629: 无法删除一个分区中唯一的子分区
本文链接:http://www.cnblogs.com/wtiancai/p/3224914.html,转载请注明。