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_LOADERDEFAULT DIRECTORY PERSON_TABLE_EXTACCESS PARAMETERS(RECORDS DELIMITED BY NEWLINEFIELDS 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;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66745.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66745.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66745.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于FPGA的BPSK+costas環實現,包含testbench,分析不同信噪比對costas環性能影響

目錄 1.算法仿真效果 2.算法涉及理論知識概要 3.Verilog核心程序 4.完整算法代碼文件獲得 1.算法仿真效果 本作品是之前作品的改進和擴展: 1.m基于FPGA的BPSK調制解調通信系統verilog實現,包含testbench,包含載波同步_csdn基于fpga的bpsk-CSDN博客 2.m基于FP…

Linux 目錄操作詳解

Linux目錄操作詳解 1. 獲取當前工作目錄1.1 getcwd()1.2 get_current_dir_name() 2. 切換工作目錄2.1 chdir() 3. 創建和刪除目錄3.1 mkdir()3.2 rmdir() 4. 獲取目錄中的文件列表4.1 opendir() 打開目錄4.2 readdir() 讀取目錄內容4.3 closedir() 關閉目錄 5. dirent 結構體6.…

Spring 依賴注入詳解:創建 Bean 和注入依賴是一回事嗎?

1. 什么是依賴注入(Dependency Injection,DI)? 依賴注入 是 Spring IoC(控制反轉)容器的核心功能。它的目標是將對象的依賴(如其他對象或配置)從對象本身中剝離,由容器負…

AI時代的網絡安全:傳統技術的落寞與新機遇

AI時代的網絡安全:傳統技術的落寞與新機遇 在AI技術飛速發展的浪潮中,網絡安全領域正經歷著前所未有的變革。一方面,傳統網絡安全技術在面對新型攻擊手段時逐漸顯露出局限性;另一方面,AI為網絡安全帶來了新的機遇&…

后端開發Web

Maven Maven是apache旗下的一個開源項目,是一款用于管理和構建java項目的工具 Maven的作用 依賴管理 方便快捷的管理項目依賴的資源(jar包),避免版本沖突問題 統一項目結構 提供標準、統一的項目結構 項目構建 標準跨平臺(…

前沿技術趨勢洞察:2024年技術的嶄新篇章與未來走向!

引言 時光飛逝,2024年已經來臨,回顧過去一年,科技的迅猛進步簡直讓人目不暇接。 在人工智能(AI)越來越強大的今天,我們不再停留在幻想階段,量子計算的雛形開始展示它的無窮潛力,Web …

【10.2】隊列-設計循環隊列

一、題目 設計你的循環隊列實現。 循環隊列是一種線性數據結構,其操作表現基于 FIFO(先進先出)原則并且隊尾被連接在隊首之后以形成一個循環。它也被稱為“環形緩沖器”。 循環隊列的一個好處是我們可以利用這個隊列之前用過的空間。在一個普…

博客之星2024年度總評選——我的年度創作回顧與總結

2024年,是我在CSDN博客上持續耕耘、不斷成長的一年。在此,與大家分享一下我的年度創作回顧與總結。 一、創作成長與突破 在人工智能領域,技術迭代迅速,知識更新頻繁。為了保持自己的競爭力,在今年,我始終…

IDEA運行Java項目總會報程序包xxx不存在

我的在另外一臺電腦上跑是沒有問題的,在新的電腦上跑的時候,又出現了這個惡心的問題...... 思來想去,唯一的問題就是我的mavn環境沒的配置好 如何在本地部署mavn環境,這里推薦一篇很好的文章: Maven安裝與配置&…

java 根據前端傳回的png圖片數組,后端加水印加密碼生成pdf,返回給前端

前端傳回的png圖片數組,后端加水印加密碼生成pdf,返回給前端 場景:重點:maven依賴controllerservice 場景: 當前需求,前端通過html2canvas將頁面報表生成圖片下載,可以仍然不滿意。 需要java后…

數據分庫分表和遷移方案

在我們業務快速發展的過程中,數據量必然也會迎來突飛猛漲。那么當我們的數據量百倍、千倍、萬倍、億倍增長后,原有的單表性能就不能滿足我們日常的查詢和寫入了,此時數據架構就不得不進行拆分,比如單表拆分成10張表、100張表、單個…

線上突發:MySQL 自增 ID 用完,怎么辦?

線上突發:MySQL 自增 ID 用完,怎么辦? 1. 問題背景2. 場景復現3. 自增id用完怎么辦?4. 總結 1. 問題背景 最近,我們在數據庫巡檢的時候發現了一個問題:線上的地址表自增主鍵用的是int類型。隨著業務越做越…

[Java] Solon 框架的三大核心組件之一插件擴展體系

1、Solon 的三大核心組件 核心組件說明Plugin 插件擴展機制提供“編碼風格”的擴展體系Ioc/Aop 應用容器提供基于注入依賴的自動裝配體系ContextHandler 通用上下文處理接口提供“開放式處理”適配體系(俗稱,三元合一) 2、Solon Plugin 插件…

TRELLIS微軟的圖生3D

TRELLIS 教程目錄: Youtube:https://www.youtube.com/watch?vJqFHZ-dRMhI 官網地址:https://trellis3d.github.io/ GitHub:https://github.com/Microsoft/TRELLIS 部署目錄: 克隆項目 git clone --recurse-submodul…

Java導出通過Word模板導出docx文件并通過QQ郵箱發送

一、創建Word模板 {{company}}{{Date}}服務器運行情況報告一、服務器:總告警次數:{{ServerTotal}} 服務器IP:{{IPA}},總共告警次數:{{ServerATotal}} 服務器IP:{{IPB}},總共告警次數:{{ServerBTotal}} 服務器IP:{{IPC}}&#x…

【22】Word:小李-高新技術企業政策?

目錄 題目? NO1.2 NO3 NO4 NO5.6 NO7.8 NO9.10 若文章中存在刪除空白行等要求,可以到最后來完成。注意最后一定要檢查此部分!注意:大多是和事例一樣即可,不用一摸一樣,但也不要差太多。 題目 NO1.2 F12Fn&a…

自動化部署(三):項目管理平臺

一、項目管理平臺作用 幫助團隊高效規劃、執行和監控項目進度,確保任務按時完成并實現目標 敏捷開發:提供標準敏捷研發管理,支持Scrum 與 Kanban 規模化敏捷:支持大型研發團隊跨項目協同,實現多項目路線圖規劃和資源管…

常用集合-數據結構-MySql

目錄 java核心: 常用集合與數據結構: 單例集合: 雙列集合: 線程安全的集合: ConcurrentHashMap集合: HashTable集合: CopyOnWriteArrayList集合: CopyOnWriteArraySet集合: ConcurrentLinkedQueue隊列: ConcurrentSkipListMap和ConcurrentSkipListSet&…

IP屬地與視頻定位位置不一致:現象解析與影響探討

在數字化時代,IP屬地和視頻定位位置已成為我們獲取網絡信息、判斷內容真實性的重要依據。然而,有時我們會發現,某些視頻內容中展示的定位位置與其發布者的IP屬地并不一致。這種不一致現象引發了廣泛的關注和討論。本文旨在深入剖析IP屬地與視…

計算機畢業設計hadoop+spark股票基金推薦系統 股票基金預測系統 股票基金可視化系統 股票基金數據分析 股票基金大數據 股票基金爬蟲

溫馨提示:文末有 CSDN 平臺官方提供的學長聯系方式的名片! 溫馨提示:文末有 CSDN 平臺官方提供的學長聯系方式的名片! 溫馨提示:文末有 CSDN 平臺官方提供的學長聯系方式的名片! 作者簡介:Java領…