SQLとPLSQLの主な違いは、SQLがリレーショナルデータベースのデータの保存、操作、検索に使用される問い合わせ言語であるのに対し、PLSQLはSQLの拡張で、Oracleリレーショナルデータベースのデータを管理するために使用されることである。
リレーショナルデータベース管理システムは、データをデータベースに格納する。
データベースはテーブルの集まりで構成されている。
SQLは、ユーザーがRDBMSのデータにアクセスすることを可能にします。
また、どのような種類のデータがデータベースに格納されているかも記述します。
一方、PLSQLはSQLを拡張したものです。
具体的な用途としては、Oracleリレーショナルデータベースのデータを管理することです。
SQLは一度に一つの文を実行するのに対し、PLSQLは一度に複数の文のブロックを実行する。
簡単に言えば、SQLは一般的な問い合わせ言語であり、PLSQLは特にOracleデータベースで使用される問い合わせ言語です。
SQLとは
SQLとは、Structured Query Language(構造化照会言語)の略です。
リレーショナルデータベースにデータを格納し、管理することができます。
標準的なデータベース言語です。
SQLを使用して、データベースやテーブルを作成、削除することができます。
また、ビューやストアドプロシージャなど、さまざまなものを作成することができます。
SQLコマンドには3つの種類があります。
データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)です。
DDL
CREATE、ALTER、DROPなどのコマンドは、DDLに属します。
CREATEコマンドは、データベースとテーブルを作成するために使用されます。
ALTERはテーブルを変更するのに役立ち、DROPはテーブル、ビュー、その他のデータベースオブジェクトを削除するのに使用されます。
DML
SELECT、INSERT、UPDATE、DELETEなどのコマンドは、DMLに分類される。
SELECTコマンドは、テーブルから一連のレコードを選択するために使用されます。
INSERTは、テーブルに新しいレコードを入力するために使用されます。
UPDATEは既存のレコードを変更するために使用され、DELETEは特定のレコードを削除するために使用されます。
DCL
GRANT や INVOKE などのコマンドは DCL に属します。
GRANTはユーザーに特権を与えるために使用され、REVOKEはユーザーに与えられた特権を取り消すために使用されます。
これらは主にSQLコマンドの一種です。
PLSQLとは
PLSQL は Oracle 社によって開発された、Oracle リレーショナルデータベース上でクエリを実行するためのツールです。
複数の機能を提供し、SQLと高度に統合されています。
多くのデータ型を提供します。
また、オブジェクト指向プログラミングもサポートしています。
図2:Oracle
PLSQL は、条件分岐、ループ、配列などのプログラミング構造を提供します。
サブプログラムは、特定のタスクを実行する単位です。
PLSQLには2種類のサブプログラムがあります。
それらは関数とプロシージャです。
関数は、値を計算し、返すために使用されます。
プロシージャはアクションを実行するために使用されます。
値を直接返すことはありません。
例外とは、通常の実行の流れを中断させる条件です。
PLSQL では、ユーザーが例外を処理することができます。
さらに、トリガーは、イベントが発生したときに自動的に実行される保存されたプログラムです。
PLSQLを使用してトリガーを記述することが可能です。
以上、PLSQL を使用するいくつかの利点を紹介しました。
SQLとPLSQLの違い
定義
SQL はプログラミングに使用され、リレーショナルデータベース管理システムで保持されるデータを管理するために設計されたドメイン固有言語です。
PLSQL は Oracle Corporation が開発した Oracle Relational Database 用の SQL の手続き型拡張です。
SQLとPLSQLの主な違いについて説明します。
長文
Structured Query Language は SQL の長い形式であり、Procedural Extension Language for SQL は SQL の長い形式です。
コマンドの実行
SQLは一度に1つのコマンドまたはクエリを実行しますが、PLSQLは一度に1つのコードブロックを実行します。
これがSQLとPLSQLのもう一つの違いです。
構成
SQLにはPLSQLは含まれません。
PLSQLはSQLの拡張です。
したがって、PLSQLはSQLを含むことができます。
コマンド
DDL、DML、DCLコマンドを使用してSQLクエリーを記述することができます。
関数、プロシージャ、トリガー、変数などを使って PLSQL コードを書くことができます。
主な使用方法
SQLとPLSQLのもう一つの重要な違いは、使用方法です。
SQLは主にデータセットの選択と操作に使用されるのに対し、PLSQLはWebアプリケーションやサーバーページに使用されます。
結論
SQLとPLSQLの違いは、SQLがリレーショナルデータベースのデータの保存、操作、検索に使用される問い合わせ言語であるのに対し、PLSQLはOracleリレーショナルデータベースのデータを管理するために使用されるSQLの拡張版である点です。
PLSQLはSQLの拡張であるため、PLSQLの中にSQLを埋め込むことが可能です。