SPL は手続き型のブロック構造化言語です。 SPL を使用すると、プロシージャ、関数、トリガー、パッケージなど、4 種類のプログラムを作成できます。

さらに、SPL はサブプログラムの作成にも使用されます。 サブプログラムとは、サブプロシージャまたはサブ関数を指します。これらは、プロシージャおよび関数と外観はほぼ同じですが、プロシージャと関数はスタンドアロンプログラムである点が異なります。これらはデータベースに個別に格納され、他の SPL プログラムまたは PSQL から呼び出すことができます。 サブプログラムは、作成されたスタンドアロンプログラム内からのみ呼び出すことができます。