Перевод русских символов в транслит FireBird

Пример PSQL скрипта, который осуществляет перевод данных атрибута таблицы с русского языка в транслит. Данная процедура реализована с помощью курсора и условных операторов, каждый из которых осуществляет проверку последующего символа атрибута таблицы. При совпадении символа с помощью операции конкатенации осуществляется создание переведенной в транслит строки.

Выходные параметры: SYMBOL_S varchar (100) — выходная строка переведенная в транслит, COUNT_ADV smallint — количество символов в поле, D_NAME varchar (100) — исходная строка (русская).

Переменные:  S_IN char (10) — последующий символ русской строки, I integer — итератор.

Курсор реализован следующим образом:

declare C cursor for (
    select DISCIPLINE.NAME_DISCIPLINE
    from DISCIPLINE);

где DISCIPLINE — таблица, состоящая из атрибутов  ID_DISCIPLINE INTEGER NOT NULL — ИД записи,
NAME_DISCIPLINE VARCHAR (100) — название дисциплины, исходные данные, на основе которых будет происходить перевод в translite. Результат работы скрипта выглядит следующим образом

Снимок

Исходный код данной процедуры можно использовать в триггерах после вставки новой записи, что позволит автоматически изменять исходные данные — переводить их из русского в  translite.