Welkom bij het artikel over PL/pgSQL, een onderwerp dat de interesse wekt van miljoenen mensen over de hele wereld. In dit bericht zullen we de verschillende aspecten met betrekking tot PL/pgSQL grondig onderzoeken, van de geschiedenis en evolutie ervan tot de impact ervan op de hedendaagse samenleving. Langs deze lijnen zullen we fascinerende feiten ontdekken, meningen van deskundigen analyseren en praktisch advies delen voor degenen die dieper in dit spannende onderwerp willen duiken. Maak je klaar om jezelf onder te dompelen in een reis vol kennis en ontdekkingen over PL/pgSQL. Laten we beginnen!
| PL/pgSQL | ||||
|---|---|---|---|---|
| Paradigma | imperatief, logisch | |||
| Verschenen | Juli 1998 | |||
| Typesysteem | statisch | |||
| Dialecten | PL/SQL | |||
| Beïnvloed door | Ada, Pascal | |||
| Invloed op | PL/SQL | |||
| Besturingssysteem | Multiplatform | |||
| Licentie | The PostgreSQL Licence | |||
| Website | PL/pgSQL - SQL Procedural Language | |||
| ||||
PL/pgSQL (Procedural Language/PostgreSQL) is een programmeertaal en beschikbaar in PostgreSQL RDBMS (sinds versie 6.4). Deze taal wordt gebruikt voor het schrijven van opgeslagen procedures, triggers. PL/pgSQL is de procedurele uitbreiding van SQL. Dit maakt het mogelijk om naast SQL variabelen te gebruiken en keuzeconstructies (if, case), herhalingsconstructies en exception handling te implementeren. PL/pgSQL lijkt enigszins op de PL/SQL taal van Oracle.
Voordeel van het gebruik van PL/pgSQL is minder dataverkeer tussen client (bijvoorbeeld een php webserver) en databaseserver. Daarnaast wordt er voor iedere SQL-query in een PL/pgSQL-functie een uitvoerplan opgeslagen. Beide leveren tijdwinst op. Daarnaast is er minder kans op SQL-injections.
PostgreSQL ondersteunt ook andere Procedural languages. In de standaard distributie zit bijvoorbeeld: PL/Perl en PL/Python. Als externe talen kan men onder andere Javascript (PLV8), PHP en Java toevoegen. De PostgreSQL taal PL/SQL (niet te verwarren met de Oracle taal met dezelfde naam) is strikt genomen geen Procedural Language.