- 浏览: 414250 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (202)
- Oracle (35)
- MsSQL (10)
- MySQL (8)
- Jsp (7)
- Java 基础 (21)
- 零星点缀 (20)
- PowerDesigner (3)
- dotNet (5)
- Hibernate (8)
- 搜索技术 (3)
- Linux (18)
- jQuery (4)
- POI/excel/word (2)
- javascript (6)
- PHP (4)
- JSTL (3)
- winows 操作系统 (6)
- HTML基础 (2)
- 网络兼职 (3)
- spring (7)
- 人生 (2)
- 网络协议之Http (3)
- JDBC (1)
- FSO(FileSystemObject)技术 (3)
- css样式 (1)
- EnterpriseDb (2)
- VMware (1)
- Android (1)
- 数据转换工具=》 (1)
- Oracle-->statspack (2)
- Oracle==>性能 (1)
- Greenplum (1)
- 库的转换 (1)
- DOS (1)
最新评论
-
青春的、脚步:
xingmei_ok 写道解密失败。。。。原始:aMD5后:0 ...
java的MD5加密、解密 -
xingmei_ok:
New_Mao_Er 写道看着标题我就蛋疼了,md5 是一个摘 ...
java的MD5加密、解密 -
New_Mao_Er:
看着标题我就蛋疼了,md5 是一个摘要算法,是无法解密的,如果 ...
java的MD5加密、解密 -
xingmei_ok:
解密失败。。。。
原始:a
MD5后:0cc175b9c0f ...
java的MD5加密、解密 -
yinxueyuan122:
[b][/b][size=xx-small][/siz ...
java的MD5加密、解密
外表(external table)就像普通的表对像一样,可以select等,只是它是只读的,数据库中只保存了表结构的描述,表数据却没有存放在数据库内,而是存放在了文件系统上。当用户想偶尔使用数据库外的结构化数据时,用起外表来就非常方便,甚至比sqlldr都要方便的多。
外部表是在数据库以外的文件系统上存储的只读表,例如EXCEL、CSV等文件
第一步:创建目录并授权。目录是数据文件的存放目标,数据文件通常要求是文本文件。这个过程在9i以前是需要配置utl_file_dir参数的。
(转http://www.blogjava.net/wxqxs/archive/2008/10/13/237180.html?opt=admin)
建立外部表的步骤如下:
1、创建以“,”分隔的文件“TestTable.csv”至“D:\Test”
2、创建一个Directory:
create directory TestTable_dir as 'D:\Test' ;
3、创建一个外部表:
create table TestTable(
ID varchar2 ( 10 ),
NAME varchar2 ( 20 ),
TYPE varchar2 ( 20 ),
AGE varchar2 ( 20 ) )
organization external (
type oracle_loader
default directory TestTable_dir
access parameters (fields terminated by ',' )
location ( 'TestTable.csv' )
);
需要注意两点:
● 使用number类型时须发查询数据(不知道为什么)
● 在建csv表时无需加表头,否则会多出一行数据来
各类参数说明
1、type oracle_loader
数据转换驱动器,oracle_loader为默认,也可以改换其他
2、defaultdirectory TestTable_dir
location ('TestTable.csv')
指定外部表所在文件夹以及指定文件
3、accessparameters
设置转换参数,例如(fields terminated by',') 表示以','为字段间的分隔符
● 参数由访问驱动程序定义
外部表的错误处理
1、REJECT LIMIT 子句
在创建外部表时最后加入LIMIT子句,表示可以允许错误的发生个数。
* 默认的REJECT LIMIT值为0
* REJECT LIMIT UNLIMITED则不会报错
2、BADFILE 和 NOBADFILE 子句
在accessparameters中加入BADFILE 'BAD_FILE.txt'子句,则所有数据转换错误的值会被放入'BAD_FILE.txt'中
使用NOBADFILE子句则表示忽略转换错误的数据
● 如果不写BADFILE或NOBADFILE,则系统自动在源目录下生成与外部表同名的.BAD文件
● BADFILE只能记录前1次操作的结果,他会被第2次操作所覆盖。
3、LOGFILE 和 NOLOGFILE 子句
在accessparameters中加入LOGFILE 'LOG_FILE.log'子句,则所有Oracle的错误信息放入'LOG_FILE.log'中
使用NOLOGFILE子句则表示不记录错误信息 到log中
● 如果不写LOGFILE或NOLOGFILE,则系统自动在源目录下生成与外部表同名的.LOG文件
修改外部表语句
外部表与堆表一样可以之用ALTER TABLE命令修改表属性
* REJECT LIMIT --错误数
* DEFAULT DIRECTORY --默认目录
* ACCESS PARAMETERS --参数
* LOCATION --数据文件
* ADD COLUMN --增加列
* MODIFY COLUMN --列定义
* DROP COLUMN --删除列
* RENAME TO --外部表更名
其他约束
● 外部表无法使用insert、update、delete等操作,要修改其数据只能通过修改数据文件。
● 外部表不能建立索引,如要建立,则需要先create table XX as select * from TestTable
创建的语法类似于: "CREATE TABLE ... ORGANIZATION EXTERNAL"
数据在数据库的外部组织,是操作系统文件。
操作系统文件在数据库中的标志是通过一个逻辑目录来映射的。
数据是只读的。(外部表相当于一个只读的虚表)
不可以在上面运行任何 DML 操作,不可以创建索引。
可以查询操作和连接。可以并行操作。
PS:
1.外部表可以加载和卸载数据泵格式的数据,只需把organization external里的参数type设置为oracle_datapump。
create table all_objects_unload
organization external
(
type oracle_datapump
default directory testdir
location('allobjects.dat')
)
as
select * from all_objects
外部表是在数据库以外的文件系统上存储的只读表,例如EXCEL、CSV等文件
第一步:创建目录并授权。目录是数据文件的存放目标,数据文件通常要求是文本文件。这个过程在9i以前是需要配置utl_file_dir参数的。
(转http://www.blogjava.net/wxqxs/archive/2008/10/13/237180.html?opt=admin)
建立外部表的步骤如下:
1、创建以“,”分隔的文件“TestTable.csv”至“D:\Test”
2、创建一个Directory:
create directory TestTable_dir as 'D:\Test' ;
3、创建一个外部表:
create table TestTable(
ID varchar2 ( 10 ),
NAME varchar2 ( 20 ),
TYPE varchar2 ( 20 ),
AGE varchar2 ( 20 ) )
organization external (
type oracle_loader
default directory TestTable_dir
access parameters (fields terminated by ',' )
location ( 'TestTable.csv' )
);
需要注意两点:
● 使用number类型时须发查询数据(不知道为什么)
● 在建csv表时无需加表头,否则会多出一行数据来
各类参数说明
1、type oracle_loader
数据转换驱动器,oracle_loader为默认,也可以改换其他
2、defaultdirectory TestTable_dir
location ('TestTable.csv')
指定外部表所在文件夹以及指定文件
3、accessparameters
设置转换参数,例如(fields terminated by',') 表示以','为字段间的分隔符
● 参数由访问驱动程序定义
外部表的错误处理
1、REJECT LIMIT 子句
在创建外部表时最后加入LIMIT子句,表示可以允许错误的发生个数。
* 默认的REJECT LIMIT值为0
* REJECT LIMIT UNLIMITED则不会报错
2、BADFILE 和 NOBADFILE 子句
在accessparameters中加入BADFILE 'BAD_FILE.txt'子句,则所有数据转换错误的值会被放入'BAD_FILE.txt'中
使用NOBADFILE子句则表示忽略转换错误的数据
● 如果不写BADFILE或NOBADFILE,则系统自动在源目录下生成与外部表同名的.BAD文件
● BADFILE只能记录前1次操作的结果,他会被第2次操作所覆盖。
3、LOGFILE 和 NOLOGFILE 子句
在accessparameters中加入LOGFILE 'LOG_FILE.log'子句,则所有Oracle的错误信息放入'LOG_FILE.log'中
使用NOLOGFILE子句则表示不记录错误信息 到log中
● 如果不写LOGFILE或NOLOGFILE,则系统自动在源目录下生成与外部表同名的.LOG文件
修改外部表语句
外部表与堆表一样可以之用ALTER TABLE命令修改表属性
* REJECT LIMIT --错误数
* DEFAULT DIRECTORY --默认目录
* ACCESS PARAMETERS --参数
* LOCATION --数据文件
* ADD COLUMN --增加列
* MODIFY COLUMN --列定义
* DROP COLUMN --删除列
* RENAME TO --外部表更名
其他约束
● 外部表无法使用insert、update、delete等操作,要修改其数据只能通过修改数据文件。
● 外部表不能建立索引,如要建立,则需要先create table XX as select * from TestTable
创建的语法类似于: "CREATE TABLE ... ORGANIZATION EXTERNAL"
数据在数据库的外部组织,是操作系统文件。
操作系统文件在数据库中的标志是通过一个逻辑目录来映射的。
数据是只读的。(外部表相当于一个只读的虚表)
不可以在上面运行任何 DML 操作,不可以创建索引。
可以查询操作和连接。可以并行操作。
PS:
1.外部表可以加载和卸载数据泵格式的数据,只需把organization external里的参数type设置为oracle_datapump。
create table all_objects_unload
organization external
(
type oracle_datapump
default directory testdir
location('allobjects.dat')
)
as
select * from all_objects
发表评论
-
闪回数据库
2010-07-16 15:31 1260如何启用Oracle10g闪回数据库特性 1.确认当前模式 ... -
http://itlife365.com/?post=212
2010-07-16 15:07 1019处理ORACLE单个sql执行出现多个session的心得: ... -
从public回收SELECT ANY TABLE权限(或其他类似权限)将导致数据库中所有的procedure、function和package失效。
2010-07-16 14:50 2027从public回收SELECT ANY TABLE权限(或其他 ... -
Oracle数据库定期自动备份
2010-06-01 17:13 1570近期经常遇到Oracle备份与还原的问题,总是做些重复的工 ... -
利用Oracle CRS搭建应用的高可用集群(部份)
2010-06-01 10:38 1315前言:CRS的简介和由来 从Oracle 10gR1 RAC ... -
ORACLE RAC原理
2010-05-31 23:54 1428RAC体系结构 在一个应 ... -
批量更新
2010-05-28 10:41 871有如下两个表: table1: f ... -
如何找出Oracle中需要或值得重建的索引
2010-05-26 14:22 1174This script determines whether ... -
oracle10g for linux 4 自动启动及脚本
2010-05-25 12:49 1029关于oracle在linux系统下安装后,如何在系统重启的情况 ... -
order by 使用索引的情况
2010-05-25 11:14 3225order by 使用索引的情况 參考http://pub. ... -
SQL中随机选取行
2010-05-11 17:40 1983Mssql : SELECT TOP 10 OrderID, ... -
ORACLE sql 使用列别名
2010-04-21 16:22 3012如果希望在别名中使用空格,并要保留空格,就必须使用双引号将别名 ... -
Oracle行列转换总结
2010-04-19 21:08 718oracle行列转换总结 最近论坛很多人提的问题都与行列转 ... -
Oracle ==>SQL 查询根据字符串的长度排序
2010-04-13 17:06 2983select * from student s wh ... -
sql中使用: case
2010-04-02 17:23 1051sql中使用: case Store_Information ... -
关于数据库中使用 left join on ...and ...和 left join on ....where ...区别,和使用group by 要注意的情
2010-04-02 17:21 1382关于数据库中使用 left join on ...and .. ... -
sql多表连接查询inner join, left join , right join ,full join ,cross join 学习
2010-04-02 17:18 1990浅显易懂: inner join,ful ... -
Oracle - 一个sequence重置的方法
2010-04-01 14:20 1102Oracle - 一个sequence重置的方法 收藏 ... -
oracle主键自动增长的设置
2010-04-01 13:25 12181建立数据表 create table Test_Incr ... -
PL/SQL DEVELOPER 基本用法详解
2010-03-25 11:33 1695PL/SQL DEVELOPER 基本用法详解(建议写过第一个 ...
相关推荐
"Oracle 外部表(External table)" Oracle 外部表(External table)是一种特殊的表类型,它允许 Oracle 数据库将一个普通的文本格式的操作系统文件看作是一个数据库表,可以象普通表一样进行 select 操作,可以建...
ORACLE Rename Table 语法详解 在 ORACLE 中,重命名(Rename)一个表的命令是 ALTER TABLE old_name RENAME TO new_name,而不是 RENAME old_name TO new_name。 REname 命令只是 SQL*Plus 的命令,不能在其他程序...
总之,Oracle Table Form Trigger是Oracle数据库应用开发的核心元素,理解并熟练掌握这三者,对于构建高效、安全的数据库应用程序至关重要。通过学习和实践提供的文件,开发者可以更深入地理解这一领域,提升数据库...
在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,它与`DELETE`语句不同,不记录任何删除操作,并且在大多数情况下执行速度更快。然而,一旦执行`TRUNCATE TABLE`,数据通常无法通过常规的...
通过“Oracle Nested Table Demo”,我们可以学习如何创建、插入和查询嵌套表,以及理解其在实际应用中的优势。这个示例是理解和实践Oracle高级数据类型的一个好起点,对于希望深入了解Oracle数据库特性的开发者来说...
Oracle ERP R12 Table Oracle ERP R12是Oracle公司推出的第十二个版本的企业资源规划(Enterprise Resource Planning)系统,...了解并掌握这些表的使用,是充分利用Oracle ERP R12功能,提升企业管理水平的关键步骤。
《完全掌握Oracle》是一套全面深入的Oracle应用开发教程,旨在帮助初学者和有经验的开发者深化对Oracle数据库系统的理解,提升在实际工作中的技能。本教程覆盖了Oracle的广泛知识领域,包括基础操作到高级特性的应用...
对于初学者来说,从零开始学习Oracle需要掌握一系列的基础知识,这些知识涵盖了数据库的基本概念、Oracle的架构、SQL语言以及数据库管理等方面。 首先,理解数据库的基本概念至关重要。数据库是一个组织和存储数据...
Oracle数据库提供了一些高级数据类型,如ARRAY(数组)和TABLE(表),这些数据类型允许我们进行批量数据操作,从而提高性能。本文将深入探讨如何利用Java操作Oracle数据库中的ARRAY和TABLE类型,实现批量入库。 ...
Oracle数据库是世界上最广泛使用的数据库系统之一,尤其在企业级应用中占据着重要地位。学习Oracle不仅可以提升数据库管理技能,还能为...通过不断的实践和学习,才能真正掌握Oracle的精髓,成为合格的数据库管理员。
"Analyze_Oracle_Table.rar"这个压缩包文件的主题聚焦于Oracle表的分析,目的是提升查询和执行操作的效率。Oracle的性能可能会因为各种因素而下降,例如索引未被有效利用、数据分布不均匀或者统计信息过时等。因此,...
ORACLE ERP常用TABLE说明.doc
3. **SQL基础**:学习Oracle必须掌握SQL(结构化查询语言),包括SELECT用于查询数据,INSERT用于插入数据,UPDATE用于修改数据,DELETE用于删除数据,以及DDL(数据定义语言)如CREATE TABLE用于创建表,DROP用于...
Cluster是存储一组table的一种方法,这些table共享同一数据块中的某些相同column,并把不同table在这一共享column上值相同的data row存储到同一block上。在sql server中的cluster index强制行根据index key按存储...
本压缩包"Oracle学习资料.zip"显然是针对Oracle数据库的学习资源,旨在帮助初学者和进阶者深入理解和掌握Oracle的相关知识。 首先,Oracle数据库的基础概念是学习的起点。这包括理解数据库是什么,以及Oracle数据库...
这份"oracle学习资料6本合集"提供了一套全面的学习资源,涵盖了Oracle的基础、进阶以及性能优化等多个方面,对于想要深入理解Oracle数据库的人来说是一份宝贵的资料。 首先,"Oracle8i_9i数据库基础.pdf"是针对...
本资料包"ORACLE EBS R12_Table"包含了Oracle EBS R12版本中的表结构详细信息,对于理解EBS系统的数据存储和流程操作至关重要。 Oracle EBS R12的表结构设计是系统性能和数据管理的基础。在数据库层面,EBS使用了...
在Oracle数据库的学习中,你需要掌握以下几个关键知识点: 1. **SQL基础**:Oracle数据库是基于SQL的,因此理解和熟练使用SQL语句是基础,包括SELECT用于查询数据,INSERT用于插入数据,UPDATE用于更新数据,DELETE...