PL/Scheme[1] - это процедурный обработчик языка PostgreSQL для языка программирования Scheme, выпущенного под лицензией BSD. PL/Scheme использует Guile в качестве своего интерпретатора Scheme. При наличии множества встроенных SRFI, структуры GOOPS и полного соответствия R5RS Guile. Вы можете найти некоторые из поддерживаемых функций PL/Scheme в приведенном ниже списке.
CREATE FUNCTION scm_pow(u int, v int) RETURNS int AS ' (let loop ((v v)) (if (< v 1) 1 (* u (loop (- v 1)))))' LANGUAGE plscheme; test=# SELECT * FROM scm_pow(2, 5); scm_pow
spi-execute command [count]
Выполняет указанную команду SQL. Если count равно нулю (или не указан как опция), то команда выполняется для всех строк, к которым она применяется. Если count больше 0, тогда количество строк, для которых будет выполнена команда, ограничено (так же, как в предложении LIMIT). Функция возвращает ассоциативный массив с ключами status, affected-tuples и returns-tuples. При успешном завершении статус будет указывать на один из следующих символов:
spi-ok-select
spi-ok-select-into
spi-ok-delete
spi-ok-delete-returning
spi-ok-insert
spi-ok-insert-returning
spi-ok-update
spi-ok-update-returning
spi-ok-utility
spi-prepare command type
Возвращает план выполнения команды в типе spi-plan (который может быть передан в подготовленный по команде spi-execute позже) по указанным аргументам. Type - это тип указывающих вектор-типов (в строковом формате), используемых в команде.
spi-execute-prepared plan args [count]
Выполняет указанный план (в типе spi-plan, который возвращается из функции spi-prepare) с заданным вектором args. Функция возвращает ассоциативный массив, как и в spi-execute, и работает так же.
report level message [hint]
Функция сообщает об ошибке/исключении с указанным сообщением (и, возможно, подсказкой). Уровень отчета может быть одной из следующих переменных:
debug-level
log-level
info-level
notice-level
warning-level
exception-level
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .