×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

5.10.3.6. SPI_modifytuple

5.10.3.6. SPI_modifytuple

SPI_modifytuple — создать строку путем замены выбранных полей в заданной строке

Синтаксис

HeapTuple SPI_modifytuple(Relation rel, HeapTuple row, int ncols,
                          int * colnum, Datum * values, const char * nulls)

Описание

SPI_modifytuple создаёт новую строку путём замены значений в выбранных столбцах и копирования значений исходной строки в остальные позиции. Входная строка не изменяется. Новая строка возвращается в контексте верхнего исполнителя.

Эта функция может использоваться только при наличии подключения к SPI. В противном случае она возвращает NULL и устанавливает SPI_result в SPI_ERROR_UNCONNECTED.

Аргументы

Relation rel

Используется только как источник дескриптора строки. (Передача отношения вместо дескриптора строки является недоработкой функционала.)

HeapTuple row

изменяемая строка

int ncols

количество изменяемых столбцов

int * colnum

массив длиной ncols, содержащий номера изменяемых столбцов (нумерация столбцов начинается с 1)

Datum * values

массив длиной ncols, содержащий новые значения для указанных столбцов

const char * nulls

массив длиной ncols, определяющий, какие из новых значений имеют значение null

Если nulls имеет значение NULL то SPI_modifytuple предполагает, что ни одно из новых значений не является null. В противном случае каждый элемент массива nulls должен иметь значение ' ' если соответствующее новое значение не равно null, или 'n' если соответствующее новое значение равно null. (В последнем случае фактическое значение в соответствующей values записи не имеет значения.) Обратите внимание, что nulls не является текстовой строкой, а представляет собой массив: ему не требуется '\0' символ завершения.

Возвращаемое значение

новая строка с изменениями, размещенная в верхнем контексте исполнителя, или NULL в случае ошибки (см. SPI_result для получения кода ошибки)

В случае ошибки, SPI_result устанавливается следующим образом:

SPI_ERROR_ARGUMENT

если rel имеет значение NULL, или если row имеет значение NULL, или если ncols меньше или равно 0, или если colnum составляет NULL, или если values имеет значение NULL.

SPI_ERROR_NOATTRIBUTE

если colnum содержит недопустимый номер столбца (меньше или равен 0 либо больше числа столбцов в row)

SPI_ERROR_UNCONNECTED

если SPI не активен

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению