sql >> Databasteknik >  >> RDS >> PostgreSQL

Verktyg för att konvertera t-sql (SQL Server) lagrad procedur till pgsql (postgre sql)

Att översätta språk är svårt. Du måste analysera originalet (med all den konstiga syntax och vårtor som det tillåter utöver vad dokumentationen säger), bestämma vad namn betyder, upptäcka semantiken och översätta till målspråket utan att förlora de subtila detaljerna.

Jag skulle bli förvånad om du hittade en lösning för den här hyllan. En del av problemet är att det finns ett stort antal N källspråk (förvärras av dialekter), och ett stort antal mål M, vilket kräver att ett bibliotek med NxM-översättare ligger runt. Och väntar du några månader flyttar N och M båda. En förhoppning är att översätta N språk till ett gemensamt universellt kärnspråk och översätta det till M mål, som nu bara kräver N+M... men ingen har hittat ett riktigt universellt språk, och om du väntar några månader, N och M flytta ändå.

Man kan överväga att bygga (eller få någon annan att bygga) en specifik översättare för uppgiften; detta brukar vara oekonomiskt, åtminstone om du vill att det ska vara tillförlitligt, eftersom så mycket av översättningsmaskineriet (analys, namnupplösning, mönstermatchning/översättning, ...) tenderar att byggas om från grunden.

Man kan amortera kostnaden för översättarinfrastrukturen om man är försiktig, genom att bygga (mycket) delat maskineri. När du väl gör det är det lättare att bygga en översättare (fortfarande inte lätt) och ekonomin är mer vettig för enskilda fall. Du kan läsa mer om detta tillvägagångssätt på: Vilka typer av mönster kan jag tvinga på koden för att göra det lättare att översätta till ett annat programmeringsspråk?



  1. Vad är en Postgres-session?

  2. Hur beter sig pgbouncer när transaktionspoolning är aktiverad och ett enda uttalande utfärdas?

  3. TCL-kommandon i SQL

  4. sqlalchemy func.group_concat och slumpmässig ordning av data