sql >> Database teknologi >  >> RDS >> PostgreSQL

Alternativer til ødelagt PL/ruby:Konverter en lagerjournaltabel

Lad os starte med dine muligheder:

  • pl/pgsql og sql
  • pl/perl, pl/pythonu og pl/tcl
  • Andre tak

Disse hovedkategorier har forskelle i styrker og svagheder. De har også forskelle i, hvordan du går om tingene. En af de store svagheder ved eksterne pls som pl/ruby er, at hvis de ikke bliver vedligeholdt, kan du få et problem senere.

PL/PGSQL og SQL

I disse tilfælde kan du sandsynligvis udtrykke dine ændringer som en SQL-forespørgsel med rekursivt fælles tabeludtryk. Så kan du bruge sql eller, hvis du har brug for lidt proceduremæssig støtte, tilføje det og bruge pl/pgsql. Det er normalt sådan, jeg griber det an.

PL/Perl, PL/TCL og PL/PythonU

Du kan muligvis også overføre din Ruby-kode til Python eller Perl og bruge PL-variationerne af disse sprog. Disse PL'er er meget brugt og vedligeholdt som en del af kernedistributionen af ​​PostgreSQL. De skal ikke væk. Dette vil give dig bedre gennemsigtighed i, hvordan logikken bevæger sig.

En væsentlig begrænsning ved PL/Python er, at den ikke har nogen betroet tilstand, og et problem, du vil støde på med pl/perl, er, at tillidstilstand betyder, at der ikke er adgang til eksterne moduler.



  1. Forespørgsel for at få samlede ordrer afgivet af en bestemt kunde i sidste år henter gentagne datoer, hvor der ikke eksisterer nogen ordre

  2. Hvordan kan jeg returnere de numeriske boxplot-data for alle resultater ved hjælp af 1 mySQL-forespørgsel?

  3. MySQL-syntaks til Join Update

  4. MySQL returnerer første og sidste rekord for på hinanden følgende identiske resultater