plpgsql

Имя таблицы как параметр функции PostgreSQL

Я хочу передать имя таблицы в качестве параметра в функции Postgres. Я попробовал этот код: CREATE OR REPLACE FUNCTION some_f(param character varying) RETURNS integer AS $$ BEGIN IF EXISTS (select * from quote_ident() where quote_ident().id ...

Для чего используются '$$' в PL/pgSQL

будучи совершенно новым для PL / pgSQL , что означает двойной знак доллара в эта функция: CREATE OR REPLACE FUNCTION check_phone_number(text) RETURNS boolean AS $$ BEGIN IF NOT ~ e'^\+\d{3}\ \d{3} \d{3} \d{3}$' THEN RAISE EXCEPTION 'Wrong fo ...

Хранить результат запроса в переменной, используя в PL/pgSQL

как назначить результат запроса переменной в PL / pgSQL, процедурном языке PostgreSQL? у меня есть функция: CREATE OR REPLACE FUNCTION test(x numeric) RETURNS character varying AS $BODY$ DECLARE name character varying(255); begin name ='SELECT n ...

Усечение всех таблиц в базе данных Postgres

мне регулярно нужно удалять все данные из моей базы данных PostgreSQL перед перестроением. Как бы я сделал это непосредственно в SQL? на данный момент мне удалось придумать инструкцию SQL, которая возвращает все команды, которые мне нужно выполнить: ...

Функция PL/pgSQL с переменным типом возвращаемого значения (и переменным внутренним запросом)

Данные Предположим, что у меня есть следующие данные: create temp table my_data1 ( id serial, val text ); create temp table my_data2 ( id serial, val int ); insert into my_data1(id, val) values (default, 'a'), (default, 'c'), (default, 'd') ...

Сохранить SQL запрос в переменной

Я написал триггер PL/PgSQL, и мне нужно сохранить запрос (фактически результирующий набор) в переменную. Смотрите ниже: DECLARE __query record; r record; BEGIN __query := (SELECT * FROM posts); FOR r IN __query LOOP -- do so ...

триггер plpgsql-передача динамического набора идентификаторов в запрос insert (v9. 6)

На фундаментальном уровне это то, чего я хочу достичь. CREATE OR REPLACE FUNCTION transform404activities() RETURNS TRIGGER LANGUAGE plpgsql AS $$ DECLARE get404json text; BEGIN get404json := 'insert into public.events_404_normalized(event_n ...

Управление разделами Postgres с помощью триггеров. Таблицы изменения выпуска

РАССКАЗ: У меня есть секционированная база данных postgres с таблицей для отслеживания секций и триггеров. Триггеры должны изменять ограничения на таблицы разделов (их valid_date [daterange] изменяется в зависимости от valid_date другого раздела) ...

Инструмент для перевода Oracle PL / SQL в Postgresql PL / pgSQL [закрыто]

Существует ли инструмент (предпочтительно бесплатный), который переведет язык хранимых процедур Oracle PL/SQL в язык хранимых процедур Postgresql? ...

Как вставить в таблицу из динамического запроса?

Моя версия Postgres: "PostgreSQL 9.4.4, compiled by Visual C++ build 1800, 32-bit" Предположим, у меня есть две таблицы Table1 и Table2, которые имеют столбцы col1 и col2 соответственно. CREATE TABLE Table1(col1 int); CREATE TABLE Table2(col2 in ...

Дайте пользователю разрешение на изменение функции

Я пытаюсь ALTER создать функцию с новым пользователем и получаю ошибку: ERROR: must be owner of function ACases ********** Error ********** ERROR: must be owner of function ACases SQL state: 42501 Какое разрешение я должен дать пользователю, чт ...

PostgreSQL выбрасывает ошибку при уведомлении о повышении с / / оператором

Получение следующей ошибки со следующей строкой кода: RAISE NOTICE '*** Rolling back job run id ' || CONVERT(varchar, v_job_run_id) || ' for table ' || v_table_name || '***'; Ошибка: ERROR: синтаксическая ошибка в строке "|" или ...

Заменить функцию, используемую в индексе

Что происходит с индексом, построенным на функции, когда я изменяю базовую функцию? Скажем, у меня есть функция clean_name(), определенная как: CREATE OR REPLACE FUNCTION clean_name(n text) RETURNS TEXT AS $BODY$ DECLARE rec TEXT; BEGIN EXECUTE ...

Эквивалентны ли эти две функции PostgreSQL? (Возвращает таблицу и возвращает SETOF)

Я имею дело с двумя установками PostgreSQL одновременно: моей локальной средой и реальным удаленным сервером. К сожалению, сервер имеет старую версию (8.3.11), а моя локальная среда-более новую (9.4). В данный момент у меня нет средств для обновлен ...

Каков правильный синтаксис хранимых процедур (функций) PostgreSQL?

Я пытаюсь написать два типа хранимых процедур в PostgreSQL. Насколько я понимаю, у Postgre есть только функции. Мне было интересно, может ли кто-нибудь взглянуть на мой код и предложить указатели. Кроме того, я не знаком с интервалами/новыми строками ...

Выберите с более чем одним атрибуции

Эта инструкция работает: SELECT INTO unsolvedNodes array_agg(DISTINCT idDestination) FROM road WHERE idOrigin = ANY(solvedNodes) AND NOT (idDestination = ANY(solvedNodes)); Но я хотел бы использовать что-то таким образом: SELECT INTO unsolvedN ...

Существует ли какой-либо ярлык для объявления нескольких переменных одного типа в plpgsql?

В настоящее время я объявляю все переменные следующим образом: declare x int; y int; z int; begin ... end Можно ли объявить x, y и z (которые имеют тот же тип) в одной строке, как: declare x, y, z int; begin ... end Я пока не наше ...

Задайте возвращаемое значение по умолчанию для функции Postgres

У меня есть следующая функция в Postgres: CREATE OR REPLACE FUNCTION point_total(user_id integer, gametime date) RETURNS bigint AS $BODY$ SELECT sum(points) AS result FROM picks WHERE user_id = $1 AND picks.gametime > $2 AND points IS ...

PostgreSQL: возвращает JSON из функции с помощью языка plpgsql

У меня есть следующая таблица с двумя полями: create table tbl_jtest ( cola int, colb varchar(10) ); Вставка некоторых записей: insert into tbl_jtest values(1,'a'); insert into tbl_jtest values(2,'b'); insert into tbl_jtest values(3,'c'); inser ...

Сравнить версию программного обеспечения в postgres

Есть ли способ сравнить версию программного обеспечения (например, X. Y. Z > A. B. C) в postgres ? Я ищу функцию на string / varchar или тип "version". Я узнал, что http://pgxn.org/dist/semver/doc/semver.html , но я ищу альтернативы (не так легко ...