title

text

Karel van der Walt
Karel van der Walt MentalArrow Principal
16:30 31 марта
40 мин

Перевод T-SQL (MS SQL Server) в PL/pgSQL

В докладе расскажем о ручной миграции хранимых процедур и табличных функций из MS SQL Server в PL/pgSQL. Мы сознательно выбрали ручной перевод вместо использования расширений PostgreSQL с автоматической конвертацией. Причина — сложная бизнес-логика в коде T-SQL, для которой мы хотели получить чистый, читаемый PL/pgSQL-код.

В исходном T-SQL коде использовались:

  • Комбинация хранимых процедур и табличных функций
  • Табличные переменные и пользовательские табличные типы
  • Рекурсивные Common Table Expressions (CTE)
  • Опциональные параметры

Миграция потребовала:

  • Приведения имен к стандартам PostgreSQL
  • Переименования параметров и локальных переменных
  • Маппинг табличных типов
  • Маппинг табличных параметров в массивы
  • Маппинг табличных возвращаемых типов в SETOF-запись
  • Перевод логики между массивами и таблицами

В докладе мы пройдем путь миграции цепочки зависимых T-SQL-функций в PL/pgSQL, разберем особенности и обойдем подводные камни обоих языков

Другие доклады