SQL

スキーマ注釈

スキーマ注釈を使用すると、データベース・オブジェクトに関するメタデータを格納および取得できます。これらは、名前と値のペアまたは単なる名前です。これらは、アプリケーションがビジネス・ロジックまたはユーザー・インタフェースをカスタマイズするために使用できる自由形式テキスト・フィールドです。

注釈を使用すると、すべてのアプリケーションで同じ方法でデータベース・オブジェクトを使用できます。これにより、開発が簡素化され、データ品質が向上します。

ドキュメントの表示に関する項

UPDATE文およびDELETE文の直接結合

UPDATEおよびDELETE文のターゲット表を、FROM句を使用して他の表に結合します。これらの他の表は、変更する行を制限したり、新しい値のソースにすることができます。

直接結合を使用すると、データを変更および削除するSQLを簡単に記述できます。

ドキュメントの表示に関する項

IF [NOT] EXISTS構文のサポート

DDLオブジェクトの作成、変更および削除では、IF EXISTSおよびIF NOT EXISTS構文修飾子がサポートされるようになりました。これにより、エラーが発生させる必要があるのは特定のオブジェクトが存在する場合なのか、存在しない場合なのかを制御できます。

IF [NOT] EXISTS構文を使用すると、スクリプトおよびアプリケーションでのエラー処理を簡略化できます。

ドキュメントの表示に関する項

アプリケーション開発者用の新しいデータベース・ロール

DB_DEVELOPER_ROLEロールは、アプリケーション開発者に、Oracleデータベースでのアプリケーションの設計、実装、デバッグおよびデプロイに必要なすべての権限を付与します。

このロールを使用することで、管理者はアプリケーション開発に必要な権限を推測する必要がなくなります。

ドキュメントの表示に関する項

INTERVALデータ型に対する集計

INTERVALデータ型をSUMおよびAVG集計関数および分析関数に渡せます。

この機能拡張により、開発者はINTERVAL値の合計および平均を簡単に計算できるようになります。

ドキュメントの表示に関する項

自動PL/SQLからSQLトランスパイラ

SQL文内のPL/SQL関数は、可能な場合は常に自動的にSQL式に変換(トランスパイル)されます。

PL/SQL関数をSQL文にトランスパイルすると、全体的な実行時間を短縮できます。

ドキュメントの表示に関する項

クライアントの記述コールでのタグ・オプションのサポート

注釈を使用すると、データベース・オブジェクトに関するメタデータを格納および取得できます。これらは、名前と値のペアであるか、名前のみです。これらは、アプリケーションでビジネス・ロジックまたはユーザー・インタフェースのカスタマイズに使用できる、自由形式テキスト・フィールドです。 

注釈は、すべてのアプリケーションにわたり同じ方法でデータベース・オブジェクトを使用するために役立ちます。これにより、開発が簡素化され、データ品質が向上します。

ドキュメントの表示に関する項

UPDATE文でのDEFAULT ON NULL

更新操作では列をDEFAULT ON NULLとして定義できます。これは、挿入操作でのみ可能でした。DEFAULT ON NULLとして指定された列は、更新操作で値をNULLに更新しようとすると、特定のデフォルト値に自動的に更新されます。

この機能により、アプリケーション開発が簡素化され、目的の動作を実現するために複雑なアプリケーション・コードやデータベース・トリガーが必要なくなります。開発の生産性が向上し、コードのエラーが発生しにくくなります。

ドキュメントの表示に関する項

DESCRIBEでの列の注釈のサポート

SQL*PlusのDESCRIBEコマンドでは、使用可能な注釈が関連付けられた列の注釈情報を表示できるようになりました。

注釈は、すべてのアプリケーションにわたり同じ方法でデータベース・オブジェクトを使用するために役立ちます。これにより、開発が簡素化され、データ品質が向上します。

ドキュメントの表示に関する項

OCCIでのデータ・ユース・ケース・ドメイン・メタデータのサポート

OCCI (Oracle C++ Call Interface)アプリケーションで記述されているデータベース列のデータ・ユース・ケース・ドメイン・メタデータ(ドメイン名およびドメイン・スキーマ)へのアクセスを提供します。

データベースによってデータ・ユース・ケース・ドメインが列に追加され、その列メタデータは、すべてのデータ・アクセス・ドライバで同じ内容を公開する必要があります。

ドキュメントの表示に関する項

データ・ユース・ケース・ドメイン

データ・ユース・ケース・ドメインは、スキーマに属するディクショナリ・オブジェクトであり、クレジット・カード番号や電子メール・アドレスなど、共通値のオプション・プロパティおよび制約のセットをカプセル化します。ユース・ケース・ドメインを定義した後、そのドメインに関連付ける表の列を定義して、ドメインのオプションのプロパティおよび制約を明示的にそれらの列に適用できます。

ユース・ケース・ドメインを使用すると、データを一元的に使用する方法を定義できます。これにより、アプリケーション全体で一貫した方法で値を処理し、データ品質を向上させることが容易になります。

ドキュメントの表示に関する項

エラー・メッセージの改善

Oracle Call Interface (OCI)のOCIError()関数は、オプションでエラー・メッセージを含むOracle URLを含めるように拡張されました。URLページには、Oracleエラーに関する追加情報があります。

この機能を使用すると、ユーザーはエラーの原因と実行可能なアクションに関する情報にアクセスできます。

ドキュメントの表示に関する項

拡張されたCASE制御

CASE文は、SQL:2003 Standard [ISO03a, ISO03b]のCASE式およびCASE文の更新された定義と整合性があるように、PL/SQLで拡張されました。

Dangling述語を使用すると、単純なCASE操作で等価テスト以外のテストを実行できます。WHEN句に複数の選択肢があると、重複の少ないコードでCASE操作を記述できます。

ドキュメントの表示に関する項

GROUP BY列の別名または位置

GROUP BY句、GROUP BY CUBE句、GROUP BY ROLLUP句およびGROUP BY GROUPING SETS句で列の別名またはSELECT項目の位置を使用できるようになりました。また、HAVING句で列の別名がサポートされています。

これらの機能改善により、GROUP BY句およびHAVING句を簡単に記述できます。SQLコードの移植性を高めながら、SQL問合せをより読みやすくメンテナンスしやすくすることができます。

ドキュメントの表示に関する項

改善されたTNSエラー・メッセージ

この機能により、エラーの原因やそれに対応するトラブルシューティング・アクションなどの詳細情報が提供されて、一般的なTNSエラー・メッセージが拡張されます。

エラーをより詳細に説明すると、診断機能が向上します。

ドキュメントの表示に関する項

マルチリーガル・エンジンでのSQL BOOLEANデータ型のサポート

Oracle Databaseは、ネイティブSQLのBOOLEANデータ型を備えています。サーバー側のJavaScriptエンジンは、すべてのインタフェースでデータ型を完全にサポートしています。

JavaScriptを使用してOracleに格納されるコードを記述する場合、この機能により、新しいSQL BOOLEANデータ型で提供される機能を最大限に活用できます。

ドキュメントの表示に関する項

Oracle C++ Call Interface (OCCI)でのSQL BOOLEANデータ型のサポート

Oracle C++ Call Interface (OCCI)では、新しいSQL BOOLEANデータ型の問合せおよびバインドがサポートされるようになりました。

SQL BOOLEANデータ型を使用すると、アプリケーションで状態をより明確に表すことができます。

ドキュメントの表示に関する項

SQL BOOLEANデータ型に対するOracleクライアント・ドライバのサポート

Oracleクライアント・ドライバでは、新しいBOOLEANデータベース列のフェッチおよびバインドがサポートされています。

アプリケーションで、ネイティブ・データベースのBOOLEAN列データ型とネイティブ・ドライバのBOOLEANデータ型を併用できます。この機能拡張により、開発者はBOOLEANデータ型をより簡単に使用できるようになりました。

ドキュメントの表示に関する項

FROM句なしのSELECT

FROM句なしでSELECT式のみの問合せを実行できるようになりました。

この新機能により、SQLコードの移植性と開発者の使いやすさが向上します。

ドキュメントの表示に関する項

SQL BOOLEANデータ型

Oracle Databaseでは、ISO SQL標準準拠のBOOLEANデータ型がサポートされるようになりました。これにより、TRUE値およびFALSE値を表に格納したり、SQL文でBOOLEAN式を使用できます。

BOOLEANデータ型は、Yes値およびNo値の格納を標準化し、Oracle Databaseへの移行を容易にします。

ドキュメントの表示に関する項

SQL UPDATE RETURN句の機能拡張

INSERTUPDATEDELETEおよびMERGE文のRETURNING INTO句は、それぞれの文の影響を受ける古い値と新しい値をレポートするように拡張されました。これにより、開発者はこれらのDMLタイプそれぞれに同じロジックを使用して、文の実行前後の値を取得できます。古い値と新しい値は、UPDATE文に対してのみ有効です。INSERT文では古い値は報告されず、DELETE文では新しい値は報告されません。MERGEは、古い値と新しい値の両方を戻すことができます。

INSERT文、UPDATE文、DELETE文およびMERGE文の影響を受ける古い値および新しい値を取得する機能により、SQLコマンドの実行の一環として、これらの値を読み取るための統一的なアプローチが開発者に提供され、データベースで実行する必要がある作業量が削減されます。

ドキュメントの表示に関する項

SQL*PlusでのSQL BOOLEANデータ型のサポート

SQL*Plusでは、SQL文およびDESCRIBEコマンドで新しいSQL BOOLEANデータ型がサポートされます。COLUMNおよびVARIABLEコマンド構文も拡張されました。

SQL*Plusスクリプトでは、新しいSQL BOOLEANデータ型を利用すると開発が容易になります。

ドキュメントの表示に関する項

表値コンストラクタ

データベースのSQLエンジンでは、様々なタイプの文に対してVALUES句がサポートされるようになりました。この新しい句を使用すると、既存の表に依存せずに新しい構文を使用して指定することで、データ行をその場でマテリアライズ化できます。Oracleでは、SELECT文、INSERT文およびMERGE文でVALUES句がサポートされています。

新しいVALUES句が導入されたことで、開発者がアドホックSQLコマンド用に記述するコードが少なくなり、少ない労力で読みやすくなりました。

ドキュメントの表示に関する項

Unicode 15.0のサポート

AL32UTF8およびAL16UTF16文字セット用の各国語サポート(NLS)データ・ファイルは、Unicode標準の文字データベースのバージョン15.0に適合するように更新されました。

この機能強化により、Oracle Databaseは最新バージョンのUnicode標準に準拠できます。

ドキュメントの表示に関する項