sql >> Database >  >> RDS >> PostgreSQL

Alternatieven voor gebroken PL/ruby:converteer een magazijnjournaaltabel

Laten we beginnen met uw opties:

  • pl/pgsql en sql
  • pl/perl, pl/pythonu en pl/tcl
  • Andere pls

Deze hoofdcategorieën hebben verschillen in sterke en zwakke punten. Ze hebben ook verschillen in hoe je dingen aanpakt. Een van de grote zwakheden van externe pls zoals pl/ruby is dat als ze niet worden onderhouden, je later een probleem kunt hebben.

PL/PGSQL en SQL

In deze gevallen kunt u uw wijzigingen waarschijnlijk uitdrukken als een SQL-query met recursieve algemene tabelexpressie. Dan kun je sql gebruiken of, als je wat procedurele ondersteuning nodig hebt, dat toevoegen en pl/pgsql gebruiken. Dit is meestal hoe ik dit aanpak.

PL/Perl, PL/TCL en PL/PythonU

Mogelijk kunt u ook uw Ruby-code overzetten naar Python of Perl en de PL-varianten van deze talen gebruiken. Deze PL's worden veel gebruikt en onderhouden als onderdeel van de kerndistributie van PostgreSQL. Ze gaan niet weg. Dit zou u een betere transparantie geven van hoe de logica zich verplaatst.

Een belangrijke beperking van PL/Python is dat het geen vertrouwde modus heeft, en een probleem dat u tegenkomt met pl/perl is dat vertrouwde modus geen toegang tot externe modules betekent.



  1. Meerdere rijen met verschillende waarden bijwerken

  2. MVC3 Alleen-lezen MySql-verbindingsreeks

  3. Welk .NET-gegevenstype is het beste voor het toewijzen van het NUMBER Oracle-gegevenstype in NHibernate?

  4. Gedrag van Oracle's oci_execute() bij gebruik van OCI_DEFAULT voor PHP> 5.3.2