株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

18c新機能:インライン外部表

守田です。

今回も、18cにおいて個人的に気になった新機能をピックアップして、お伝えしてみたいと思います。
今回ご紹介するのは、「インライン外部表」です。

外部表は、データベース外部のデータに対して、あたかもテーブルが存在するかのようにアクセスできる機能です。
18cより前のバージョンでは、この機能を使用する場合は、事前に外部表を永続データベース・オブジェクトとして定義する必要があります。
18cから、インライン外部表という機能により、外部表の定義をSQLの一部にできます。
これにより、事前に永続データベース・オブジェクトとして定義する必要がなくなります。

今回サンプルとして、以下のCSV形式のファイルを作成しました。このファイルを、インライン外部表として参照してみます。
20180810_01.jpg

通常の外部表では、
まずデータディクショナリに永続データベース・オブジェクトとして定義した後、参照します。
20180810_03.jpg

インライン外部表では、外部表の作成にCREATE TABLE文で使用したものと同じ構文を、実行時にSELECT文で使用できます。
インライン外部表は、問合せブロックのFROM句で指定します。
20180810_02.jpg

CREATE TABLE~ORGANIZATION EXTERNAL で外部表を作成しなくとも、
SQL内に直接外部表の定義を入れ込むことで、データを表示することができました。

なお、マニュアルにも記載がありますが、インライン外部表はパーティション化がサポートされませんので、ご注意ください。

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ