« 18c新機能:読取り専用ORACLE_HOME | メイン | 18c新機能:スケーラブルな順序 »

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

守田です。

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

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

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

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

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

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

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

About

2018年8月13日 09:00に投稿されたエントリーのページです。

ひとつ前の投稿は「18c新機能:読取り専用ORACLE_HOME」です。

次の投稿は「18c新機能:スケーラブルな順序」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。