close

PL/PgSQL

Siirry navigointiin Siirry hakuun

PL/pgSQL (Procedural Language/PostgreSQL Structured Query Language) on PostgreSQL - tietokannan hallinnan tarjoama pakollinen kieli . Se mahdollistaa SQL-komentojen suorittamisen pakottavien lauseiden kielellä ja funktioiden käytön, mikä antaa paljon enemmän automaattista ohjausta kuin perusSQL-käskyt.

PL/pgSQL:stä voit suorittaa monimutkaisia ​​laskelmia ja luoda uusia käyttäjätietotyyppejä. Todellisena ohjelmointikielenä siinä on toistuvia ja ehdollisia ohjausrakenteita sekä mahdollisuus luoda toimintoja, joita voidaan kutsua normaaleissa SQL-käskyissä tai suorittaa liipaisutapahtumissa .

Yksi tärkeimmistä eduista ohjelmoinnin suorittamisessa tietokantapalvelimella on, että kyselyitä ja tuloksia ei tarvitse kuljettaa asiakkaan ja palvelimen välillä , koska tiedot sijaitsevat itse palvelimella. Lisäksi tietokannan hallinta voi suunnitella optimointeja tiedonhaun ja päivityksen suorittamisessa.

PL/pgSQL:llä kirjoitetut funktiot hyväksyvät argumentteja ja voivat palauttaa perus- tai kompleksityyppisiä arvoja (esimerkiksi tietueita, vektoreita, joukkoja tai jopa taulukoita), mikä mahdollistaa abstraktien tai yleisten funktioiden polymorfisen kirjoittamisen (viittaus tyypin objektin muuttujiin ) .

Esimerkki PL/pgSQL-koodista

LUO TAI KORVAA FUNCTION call_not_interested(integer) PALAUTTAA kokonaisluvun AS
JULISTAA
  _call_id ALIAS FOR 1 $;
  _contact_id kokonaisluku;

ALKAA

  -- etsi asiaan liittyvä yhteystieto
  SELECT _contact_id INTO _contact_id FROM puhelut WHERE id = _call_id;

  -- päivitä vastatut puhelut
  UPDATE puhelut SET osallistui = tosi WHERE id = _puhelun_tunnus;

  -- päivitä yhteystietoihin ei_interested
  PÄIVITYS yhteystiedot SET not_interested = true WHERE id = _contact_id;

  RETURN _contact_id;

END;
'

Ulkoiset linkit