他のデータベースの言語との違い
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/12 16:10 UTC 版)
「PL/SQL」の記事における「他のデータベースの言語との違い」の解説
同じくデータベース言語 SQL の拡張として、Sybase ASE や Microsoft SQL Serverで実装されているTransact-SQL と比較されることがあるが、文法・構文の違いだけでなく、命令のSQLエンジンでの処理のされ方が異なる。Transact-SQLは全ての構文をSQLエンジンだけで処理するが、PL/SQLの場合は、PL/SQL構文はPL/SQLエンジンでの解析・実行が行われ、データ操作言語 (DML; SELECT/INSERT/UPDATE/DELETE) 構文は従来のSQLエンジンにて解析・実行するように内部分岐している。このため、Transact-SQLでのSELECT結果は、ストアドプロシージャから結果セットを直接呼び元へ返却することが可能であるが、PL/SQLではそれができないため、パッケージ定義のカーソルを経由した引渡しや配列変数をつかったデータの返却などで回避しなければならない。 また、PostgreSQLのPL/pgSQLは、PL/SQLを参考に実装されたものであるが、データベース管理システム (DBMS) の実装に依存する部分(トランザクション管理の概念が異なる)や、出力引数の扱いが異なるなど完全な互換性はない。 IBMのDB2はOracleからの乗り換えを狙ってV9.7からPL/SQLをサポートしている。またMariaDBも10.3からOracle Database互換機能としてPL/SQLをサポートしている。
※この「他のデータベースの言語との違い」の解説は、「PL/SQL」の解説の一部です。
「他のデータベースの言語との違い」を含む「PL/SQL」の記事については、「PL/SQL」の概要を参照ください。
- 他のデータベースの言語との違いのページへのリンク