sql >> Databasteknik >  >> RDS >> PostgreSQL

Alternativ till trasig PL/ruby:konvertera en lagerjournaltabell

Låt oss börja med dina alternativ:

  • pl/pgsql och sql
  • pl/perl, pl/pythonu och pl/tcl
  • Andra snälla

Dessa stora kategorier har skillnader i styrkor och svagheter. De har också skillnader i hur man går tillväga. En av de stora svagheterna med externa pls som pl/ruby är att om de inte kan underhållas kan du få problem senare.

PL/PGSQL och SQL

I dessa fall kan du förmodligen uttrycka dina ändringar som en SQL-fråga med rekursivt vanligt tabelluttryck. Sedan kan du använda sql eller, om du behöver lite procedurstöd, lägg till det och använd pl/pgsql. Det är vanligtvis så jag ställer mig till det här.

PL/Perl, PL/TCL och PL/PythonU

Du kanske också kan porta din Ruby-kod till Python eller Perl och använda PL-variationerna av dessa språk. Dessa PL:er används i stor utsträckning och underhålls som en del av kärndistributionen av PostgreSQL. De går inte bort. Detta skulle ge dig bättre insyn i hur logiken rör sig.

En betydande begränsning för PL/Python är att det inte har något betrodd läge, och ett problem du kommer att stöta på med pl/perl är att betrodd läge innebär ingen tillgång till externa moduler.



  1. Hur kan jag välja det längsta textfältet när jag använder GROUP BY i mysql, a la MAX()?

  2. Kontrollera rader för monotont ökande värden

  3. Inner join vs Where

  4. Ta bort konstiga tecken (A med hatt) från SQL Server varchar-kolumnen