PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Narzędzie do konwersji procedury składowanej t-sql (SQL Server) na pgsql (postgre sql)

Tłumaczenie języków jest trudne. Musisz przeanalizować oryginał (z całą dziwną składnią i brodawkami, na które pozwala, wykraczając poza to, co mówi dokumentacja), określić, co oznaczają nazwy, odkryć semantykę i przetłumaczyć na język docelowy bez utraty subtelnych szczegółów.

Byłbym zdziwiony, gdybyś znalazł rozwiązanie dla tego gotowego rozwiązania. Częściowo problem polega na tym, że istnieje ogromna liczba języków źródłowych (pogorszonych przez dialekty) i ogromna liczba docelowych M, co wymaga posiadania biblioteki tłumaczy NxM. A jeśli poczekasz kilka miesięcy, N i M się przeprowadzą. Jedną nadzieją jest przetłumaczenie języków N na wspólny uniwersalny język podstawowy i przetłumaczenie tego na cele M, teraz wymagające tylko N+M… ale nikt nie znalazł naprawdę uniwersalnego języka, a jeśli poczekasz kilka miesięcy, N i M przesuń się mimo to.

Można rozważyć zbudowanie (lub nakłonienie kogoś innego do zbudowania) konkretnego tłumacza do zadania; zazwyczaj jest to nieekonomiczne, przynajmniej jeśli chcesz, aby było niezawodne, ponieważ wiele maszyn tłumaczących (parsowanie, rozwiązywanie nazw, dopasowywanie/tłumaczenie wzorców, ...) ma tendencję do przebudowywania od zera.

Koszt infrastruktury tłumacza można amortyzować, jeśli jesteś ostrożny, budując (wiele) współdzielonych maszyn. Gdy to zrobisz, budowanie tłumacza jest łatwiejsze (wciąż niełatwe), a ekonomia ma więcej sensu w indywidualnych przypadkach. Więcej o tym podejściu można przeczytać na: Jakie rodzaje wzorców mogę wymusić w kodzie, aby ułatwić tłumaczenie na inny język programowania?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyodrębnić godzinę z zapytania w postgresie

  2. Jak połączyć kolumny w Postgres SELECT?

  3. Dlaczego postgres nie tworzy bazy danych?

  4. SQLAlchemy Core CREATE TEMPORARY TABLE AS

  5. Gęsta_ranking pierwsza konwersja Oracle do Postgresql