Описание тега plpgsql

PL/pgSQL - это процедурный язык по умолчанию для PostgreSQL. Вопросы о PL/pgSQL, вероятно, также следует пометить как "PostgreSQL".
2 ответа

Синтаксическая ошибка с Postgres FOR LOOP

У меня проблема с функцией postgres: CREATE OR REPLACE FUNCTION linkedRepoObjects(id bigint) RETURNS int AS $$ DECLARE catNumber int DEFAULT 0; DECLARE cat RECORD; BEGIN WITH RECURSIVE children(categoryid,category_fk) AS ( SELECT categoryid, categor…
15 май '10 в 08:33
1 ответ

Проверьте, обновлено ли что-нибудь в динамическом запросе

Мне нужно построить и выполнить UPDATE утверждение динамически. Затем мне нужно проверить, обновлялось ли вообще что-либо. Мой код выглядит следующим образом: DECLARE v_table_name text; v_column_name text; v_debug_flag boolean; v_upd_stmt text; BEGI…
14 апр '17 в 15:18
4 ответа

PostgreSQL: ОШИБКА: 42601: список функций необходим для функций, возвращающих "запись"

(Отказ от ответственности: PostgreSQL новичок.) Хорошо, насколько я могу судить, моя функция правильно напоминает образцы, которые я видел. Может кто-нибудь подсказать мне, как мне заставить это работать? create or replace function get_user_by_usern…
22 дек '11 в 14:19
1 ответ

Ошибка INSERT в функции PLPGSQL

Здравствуйте, я работал над этим кодом сегодня после попытки некоторых решений в: Динамические имена столбцов в представлении (Postgres) Я получаю некоторые ошибки, которые я не могу решить, я исправил много проблем с этим, но я не могу решить это, …
28 фев '12 в 14:01
2 ответа

Получить сумму целых чисел для уникальных идентификаторов

В игре, использующей PostgreSQL 9.3 в качестве бэкэнда, я пытаюсь ограничить количество игр, в которые играет пользователь в неделю. Я подготовил SQL-скрипку, но, к сожалению, она не работает. Мой (тестовый, не производственный) код здесь: create ta…
1 ответ

Как вы попаете массив в Postgres?

Мне интересно, как получить значение из верхней части массива в postgresql с помощью plpgsql? CREATE FUNCTION pop_off(arr ANYARRAY) RETURNING ANYARRAY AS $$ BEGIN -- return array with first element removed END; $$ LANGUAGE plpgsql;
30 июл '13 в 09:04
3 ответа

Создать новый процесс из функции Postgres

Можно ли создать новый процесс для запуска функции из функции postgress? Или я ограничен одним потоком исходного запроса на одно соединение дБ согласно документации? Отдельный процесс создает и заполняет динамически именованную таблицу, не возвращае…
2 ответа

Postgres создает универсальную функцию на весь стол

У меня есть несколько таблиц БД. Я хочу написать универсальную функцию postgres для копирования строк в таблицы истории У меня есть таблицы: table1 table1_h table2 table2_h Я написал функцию (с помощью stackru) CREATE OR REPLACE FUNCTION copy_histor…
26 июн '17 в 11:29
1 ответ

Как улучшить производительность функции с помощью курсоров в PostgreSQL?

У меня есть функция с двумя вложенными курсорами. Внешний курсор получает информацию о платеже клиента из источника и вставляет в цель на основе некоторой бизнес-логики. Внутренний курсор принимает данные платежа по каждому платежу, это происходит о…
0 ответов

PostgreSQL10, Pgcrypto, HMAC, как пересчитать данные?

Я должен сделать куки с хешем, созданным с помощью функции HMAC для автоматической аутентификации. Я искал в интернете, как использовать функцию HMAC, и в соответствии с тем, что я нашел, они делают это так: SELECT * FROM APP.USER WHERE ENCODE( HMAC…
18 окт '18 в 01:47
1 ответ

Могу ли я изменить заголовок столбца в функции PostgreSQL?

У меня есть Postgres VIEW, который четыре раза использует функцию plpgsql для создания отчета о задолженности. Если в строке есть дата в текущем периоде, значение в этой строке указывается в столбце 1, если дата - в прошлом месяце, то значение указы…
01 ноя '13 в 18:25
2 ответа

Структура запроса не соответствует типу результата функции

После изменения типа (путем приведения) из bigint в текст моя функция PLPGSQL перестала работать. Это ошибка, которую я получаю: dev=> select * from app.get_companies(4,808739954140037) ; NOTICE: Data rows were NOT found (structure of query does …
18 дек '16 в 04:43
2 ответа

Какой самый простой способ вернуть набор записей из хранимой процедуры PostgreSQL?

У меня просто есть таблица, которая содержит список стран и их коды стран ISO. Я упаковываю запрос в хранимую процедуру (она же функция), например: CREATE OR REPLACE FUNCTION get_countries( ) RETURNS setof record AS $$ SELECT country_code, country_n…
10 янв '10 в 04:37
2 ответа

Добавить столбец в таблицу во всех схемах базы данных PostgreSQL

У меня есть схема Postgres 8.4, как показано ниже: My_Database |-> Schemas |-> AccountA |-> AccountB |-> AccountC |-> AccountD |-> AccountE ... |-> AccountZ Все схемы имеют таблицу с именем product и я хотел бы добавить к ним ло…
28 ноя '13 в 19:04
2 ответа

Триггер обновления PostgreSQL

У меня есть стол: CREATE TABLE annotations ( gid serial NOT NULL, annotation character varying(250), the_geom geometry, "rotationAngle" character varying(3) DEFAULT 0, CONSTRAINT annotations_pkey PRIMARY KEY (gid), CONSTRAINT enforce_dims_the_geom C…
12 авг '14 в 18:48
1 ответ

Выбор структуры управления Postgres IF

Вот сценарий. Я хотел бы вернуть ntiled набор результатов в зависимости от количества записей. Например: DO $BODY$ IF ( SELECT count(*) < 50 FROM ( SELECT * FROM ( SELECT col1, col2, col3 FROM v_my_view) AS cnt; ) THEN SELECT * FROM ( SELECT col1…
13 мар '14 в 21:08
2 ответа

postgresql: синтаксическая ошибка в или около "DO"

Я пытаюсь запустить блок DO, например, этот (скопировано из поста на этом форуме) DO $$ DECLARE x int; BEGIN x := 10; RAISE NOTICE '>>>%<<<', x; END; $$ но что происходит, это: ОШИБКА: синтаксическая ошибка в или около "DO" Состоян…
20 июн '14 в 21:33
2 ответа

PL/pgSQL проверка наличия строки

Я пишу функцию в PL/pgSQL, и я ищу самый простой способ проверить, существует ли строка.Прямо сейчас я выбираю integer в boolean, который на самом деле не работает. У меня недостаточно опыта работы с PL/pgSQL, чтобы знать, как это сделать. Вот часть…
09 авг '12 в 21:31
0 ответов

Текущее имя сервера PostgreSQL

Мне нужно получить имя сервера, которое указано в pgAdmin НЕ имя хоста или IP-адрес, но реальное имя сервера, которое отображается в pgAdmin, хост может содержать несколько серверов, поэтому я не хочу inet_server_addr()Мне нужно написать что-то, мож…
1 ответ

Любимый подход модульного тестирования для функций Postgresql?

Я привык к разработке приложений Java, но для проекта я выполняю функции posgresql. Я хотел бы написать небольшие юнит-тесты для этих функций. Я сейчас ищу стандартный подход. Я нашел pgTap и pgUnitTest, а также статью за 2007 год: http://www.bigsmo…