Oracle 创建并使用外部表

目录

  • 一. 什么是外部表
  • 二. 创建外部表所在的文件夹对象
  • 三. 授予访问外部表文件夹的权限
    • 3.1 DBA用户授予普通用户访问外部表文件夹的权限
    • 3.2 授予Win10上的Oracle用户访问桌面文件夹的权限
  • 四. 普通用户创建外部表
  • 五. 查询
  • 六. 删除


一. 什么是外部表

  • 在 Oracle 数据库中,外部表(External Table)是一种特殊类型的表,它允许数据库直接访问外部文件(如 CSV 文件、文本文件等),并将这些文件的内容视为表数据进行查询。
  • 外部表本质上是一个逻辑表,它不会在数据库中存储实际的数据,而是通过指定的文件位置直接访问数据文件。

⏹外部表的特点

  • 无需存储数据:外部表的数据存储在外部文件系统中,而不是数据库表空间内。这意味着外部表只是一个映射,使得数据库可以通过 SQL 查询来访问存储在文件中的数据。
  • 直接访问外部数据:外部表允许您通过 SQL 查询直接访问外部文件中的数据,而无需将数据导入数据库。这对于处理大量的文件数据特别有用。
  • 支持大数据量处理:外部表非常适合处理大量外部数据文件,您可以像查询数据库表一样查询这些文件内容。
  • 支持多种文件格式:外部表支持多种不同的文件格式,如 CSV、固定宽度文本文件、分隔符分隔的文件等。

二. 创建外部表所在的文件夹对象

⏹在Oracle安装的Win10上准备好外部表所用到csv数据库文件。

在这里插入图片描述

"1","Name_1","41","user1@example.com","2024/05/20 13:05:39"
"2","Name_2","57","user2@example.com","2024/07/29 13:05:39"
"3","Name_3","44","user3@example.com","2024/10/11 13:05:39"
"4","Name_4","24","user4@example.com","2024/04/24 13:05:39"
"5","Name_5","42","user5@example.com","2024/02/21 13:05:39"
"6","Name_6","56","user6@example.com","2024/02/18 13:05:39"

⏹创建外部表所在的文件夹对象

  • 需要使用DBA用户
  • DBA用户所在的容器应该是PDB,而不是CDB
  • 因为我们的Oracle数据库安装在Win10上,所以文件夹路径需要Win10上的路径
# DBA用户切换容器为PDB
SQL>  ALTER SESSION SET CONTAINER = XEPDB1;

Session altered.

# 确认当前容器
SQL> SHOW CON_NAME;

CON_NAME
------------------------------
XEPDB1
SQL>
SQL> CREATE OR REPLACE DIRECTORY PERSON_TABLE_EXT AS 'C:/Users/FengYeHong/Desktop';

Directory created.

# 确认文件夹对象已经创建完毕
SQL> SELECT directory_name, directory_path FROM all_directories WHERE directory_name = 'PERSON_TABLE_EXT';

DIRECTORY_NAME             DIRECTORY_PATH
----------------           ---------------------------
PERSON_TABLE_EXT           C:/Users/FengYeHong/Desktop

三. 授予访问外部表文件夹的权限

3.1 DBA用户授予普通用户访问外部表文件夹的权限

SQL> GRANT READ, WRITE ON DIRECTORY PERSON_TABLE_EXT TO "DB_USER";

Grant succeeded.

3.2 授予Win10上的Oracle用户访问桌面文件夹的权限

⏹通过services.msc打开服务,然后找到OracleServiceXE服务

在这里插入图片描述

⏹打开OracleServiceXE服务的属性,然后在登录选项卡中找到当前oracle服务的用户名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四. 普通用户创建外部表

  • 创建一个外部表,名称叫做PERSON_TABLE_TEST
  • CREATED_DATE DATE "yyyy/mm/dd hh24:mi:ss":指定日期的格式
  • LOCATION ('person_data.csv'),指定加载外部表所在文件夹中的person_data.csv文件。
CREATE TABLE PERSON_TABLE_TEST (
   "ID" NUMBER, 
	"NAME" VARCHAR2(50), 
	"AGE" NUMBER, 
	"EMAIL" VARCHAR2(100), 
	"CREATED_DATE" DATE
)
ORGANIZATION EXTERNAL
(
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY PERSON_TABLE_EXT
  ACCESS PARAMETERS
  (
    RECORDS DELIMITED BY NEWLINE
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    (
      ID, 
      NAME, 
      AGE, 
      EMAIL, 
      CREATED_DATE DATE "yyyy/mm/dd hh24:mi:ss"
    )
  )
  LOCATION ('person_data.csv')
)
REJECT LIMIT UNLIMITED;

五. 查询

⏹查询外部表是否真的创建成功

SQL> SELECT TABLE_NAME FROM USER_EXTERNAL_TABLES WHERE TABLE_NAME = 'PERSON_TABLE_TEST';

TABLE_NAME
--------------------------------------------------------------------------------
PERSON_TABLE_TEST

⏹查询外部表中的数据

  • 就像查询普通表一样
  • 外部表还可以和数据库中的表进行关联查询

在这里插入图片描述


六. 删除

⏹普通用户删除外部表,和删除普通表相同

DROP TABLE PERSON_TABLE_TEST;

⏹DBA用户删除外部表所在的目录

-- PERSON_TABLE_EXT 是目录的别名
DROP DIRECTORY PERSON_TABLE_EXT;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/957669.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

戴尔电脑用u盘重装系统_戴尔电脑用u盘重装win10系统教程

戴尔电脑用u盘重装系统?戴尔电脑这几年默认预装win10家庭版和win11家庭版。有的用户用上了预装win11家庭版的戴尔电脑,使用一段时间依然不习惯,于是想退回win10。但不知道怎么重装win10,这几年的戴尔电脑建议采用U盘方式安装系统比…

【动态规划】--- 斐波那契数模型

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: 算法Journey 🏠 第N个泰波那契数模型 📌 题目解析 第N个泰波那契数 题目要求的是泰波那契数,并非斐波那契数。 &…

wps数据分析000002

目录 一、快速定位技巧 二、快速选中技巧 全选 选中部分区域 选中部分区域(升级版) 三、快速移动技巧 四、快速录入技巧 五、总结 一、快速定位技巧 ctrl→(上下左右)快速定位光标对准单元格的上下部分双击名称单元格中…

常用集合-数据结构-MySql

目录 java核心: 常用集合与数据结构: 单例集合: 双列集合: 线程安全的集合: ConcurrentHashMap集合: HashTable集合: CopyOnWriteArrayList集合: CopyOnWriteArraySet集合: ConcurrentLinkedQueue队列: ConcurrentSkipListMap和ConcurrentSkipListSet&…

PHP礼品兑换系统小程序

🎁 礼品兑换系统:革新企业礼品管理,专属神器来袭! 💻 一款专为追求高效与个性化的现代企业量身打造的礼品兑换系统,它基于强大的ThinkPHP框架与前沿的Uniapp技术栈深度融合,不仅完美适配礼品卡…

NoETL | 数据虚拟化如何在数据不移动的情况下实现媲美物理移动的实时交付?

在我们之前的文章中,我们回顾了Denodo在逻辑数据仓库和逻辑数据湖场景中所使用的主要优化技术(具体内容请参阅之前的文章)。 数据架构 | 逻辑数据仓库与物理数据仓库性能对比_物理数仓、逻辑数仓-CSDN博客文章浏览阅读1.5k次,点赞…

前沿技术趋势洞察:2024年技术的崭新篇章与未来走向!

引言 时光飞逝,2024年已经来临,回顾过去一年,科技的迅猛进步简直让人目不暇接。 在人工智能(AI)越来越强大的今天,我们不再停留在幻想阶段,量子计算的雏形开始展示它的无穷潜力,Web …

2024年终总结-行到水穷处,坐看云起时

依然是——关于我 我,坐标山东青岛,一位无名的Java Coder,你可以叫我Debug.c亦或者种棵代码技术树。在此不过多赘述关于我,更多的关于我请移步我的2023年年终总结。 2023年终总结-轻舟已过万重山 2024年OKR完成情况 2023年年末…

SpringMVC (2)

目录 1. RequestMapping 注解介绍 2. RequestMapping 使用 3. RequestMapping与请求方式 3.1 RequestMapping 支持Get和Post类型的请求 3.2 RequestMapping 指定接收某种请求 3.3 GetMapping和PostMapping 4. 传参 4.1 通过查询字符串传参 4.2 在 Body 中传参 4.2.1 …

使用ssh推送项目到github

文章目录 1. 确保已生成 SSH 密钥2. 在 GitHub 上创建远程仓库3. 初始化本地项目4. 将本地项目与远程仓库关联5. 添加文件并提交补充:拉取远程修改(可选)6. 推送到 GitHub7. 完成总结 出现的问题解决方法:方法 1:允许合…

一文读懂 RocketMQ:从概念到架构与应用原理概述

文章目录 概述架构说明核心组件核心概念 namesvrproducer默认实现producer启动消息发送 broker-mq核心基本模型集群模型内部模型存储机制高可用 consumerpush类型push流程pull类型 概述 随着分布式技术在业内的快速应用,mq(消息队列)做为不可…

具身智能新突破!Physical Intelligence推出机器人动作tokenizer,训练提速5倍

具身智能,是人工智能(AI)行业的下一个浪潮。如何有效训练 Transformers 模型来控制具身机器人,是当前亟需要解决的难题,尤其是对于更复杂、需要精确和高频控制的精巧技能,现有的视觉-语言-动作(…

通过idea创建的springmvc工程需要的配置

在创建的spring mvc工程中&#xff0c;使用idea开发之前需要配置文件包括porm.xml、web.xml、springmvc.xml 1、porm.xml 工程以来的spring库&#xff0c;主要包括spring-aop、spring-web、spring-webmvc&#xff0c;示例配置如下&#xff1a; <project xmlns"http:/…

【MySQL系列文章】Linux环境下安装部署MySQL

前言 本次安装部署主要针对Linux环境进行安装部署操作,系统位数64 getconf LONG_BIT 64MySQL版本&#xff1a;v5.7.38 一、下载MySQL MySQL下载地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions) 二、上传MySQL压缩包到Linuxx环境&#xff0c…

【排查案例】无认证集群空白分区创建元凶排查记录

无认证集群空白分区创建元凶排查记录 前言正文SparkSQL Thrift审计通过edit查找操作抓包分析请求NodeManager日志追踪结论 后记 前言 今天分享一个最近在生产环境排查的空白分区的问题&#xff0c;先说业务感知&#xff0c;业务那边反馈本身这条业务链每个小时数据应该是3个分…

音频入门(一):音频基础知识与分类的基本流程

音频信号和图像信号在做分类时的基本流程类似&#xff0c;区别就在于预处理部分存在不同&#xff1b;本文简单介绍了下音频处理的方法&#xff0c;以及利用深度学习模型分类的基本流程。 目录 一、音频信号简介 1. 什么是音频信号 2. 音频信号长什么样 二、音频的深度学习分…

语义分割文献阅读-SegNet:一种用于图像分割的深度卷积编码器-解码器架构(1.13-1.19)

目录 摘要 Abstract 1 引言 2 SegNet架构 2.1 编码器网络 2.2 解码器网络 2.3 最大池化索引(Max-pooling Indices) 3 训练SegNet 3.1 加载预训练权重 3.2 构建MyDataset类 3.3 训练 4 测试 总结 摘要 本周阅读的论文题目是《SegNet&#xff1a;A Deep Convoluti…

深度学习核函数

一、核函数的基本概念 核函数在机器学习中具有重要应用价值&#xff0c;常用于支持向量机&#xff08;SVM&#xff09;等算法中。 核函数是面试中经常被考到的知识点&#xff0c;对于找工作和实际数据转换都有重要作用。 二、数据建模与核函数的作用 数据越多&#xff0c;可…

.Net Core微服务入门全纪录(四)——Ocelot-API网关(上)

系列文章目录 1、.Net Core微服务入门系列&#xff08;一&#xff09;——项目搭建 2、.Net Core微服务入门全纪录&#xff08;二&#xff09;——Consul-服务注册与发现&#xff08;上&#xff09; 3、.Net Core微服务入门全纪录&#xff08;三&#xff09;——Consul-服务注…

2024年智慧消防一体化安全管控年度回顾与2025年预测

随着科技的飞速发展&#xff0c;智慧营区一体化安全管控在2024年取得了显著进展&#xff0c;同时也为2025年的发展奠定了坚实基础。 2024年年度回顾 政策支持力度持续加大&#xff1a;国家对消防安全的重视程度不断提高&#xff0c;出台了一系列涵盖技术创新、市场应用、人才培…