Вопросы с тегом «plpgsql»

10
Усечение всех таблиц в базе данных Postgres
Мне регулярно нужно удалять все данные из моей базы данных PostgreSQL перед перестройкой. Как бы я сделал это прямо в SQL? На данный момент мне удалось придумать оператор SQL, который возвращает все команды, которые мне нужно выполнить: SELECT 'TRUNCATE TABLE ' || tablename || ';' FROM pg_tables WHERE tableowner='MYUSER'; Но …

5
Сохраните результат запроса в переменной, использующей 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 name FROM test_table where id='||x; if(name='test')then --do somthing else --do the else part end if; end; …

2
Как создать функцию, которая ничего не возвращает
Я хочу написать функцию с pl/pgsql. Я использую PostgresEnterprise Manager v3 и использую оболочку для создания функции, но в оболочке я должен определить тип возвращаемого значения. Если я не определю возвращаемый тип, я не смогу создать функцию. Как создать функцию без возвращаемого результата, т.е. функцию, которая создает новую таблицу?

2
Как вернуть результат SELECT внутри функции в PostgreSQL?
У меня есть эта функция в PostgreSQL, но я не знаю, как вернуть результат запроса: CREATE OR REPLACE FUNCTION wordFrequency(maxTokens INTEGER) RETURNS SETOF RECORD AS $$ BEGIN SELECT text, count(*), 100 / maxTokens * count(*) FROM ( SELECT text FROM token WHERE chartype = 'ALPHABETIC' LIMIT maxTokens ) as tokens …

2
Для чего используются '$$' в PL / pgSQL
Будучи совершенно новым для PL / pgSQL, что означают двойные знаки доллара в этой функции : CREATE OR REPLACE FUNCTION check_phone_number(text) RETURNS boolean AS $$ BEGIN IF NOT $1 ~ e'^\\+\\d{3}\\ \\d{3} \\d{3} \\d{3}$' THEN RAISE EXCEPTION 'Wrong formated string "%". Expected format is +999 999'; END IF; RETURN true; …

8
Имя таблицы как параметр функции PostgreSQL
Я хочу передать имя таблицы в качестве параметра функции Postgres. Я пробовал этот код: CREATE OR REPLACE FUNCTION some_f(param character varying) RETURNS integer AS $$ BEGIN IF EXISTS (select * from quote_ident($1) where quote_ident($1).id=1) THEN return 1; END IF; return 0; END; $$ LANGUAGE plpgsql; select some_f('table_name'); И я получил …

2
Хранить вывод запроса select в одном массиве в postgres
Мой код: SELECT column_name FROM information.SCHEMA.columns WHERE table_name = 'aean' Он возвращает имена столбцов таблицы aean. Теперь я объявил массив: DECLARE colnames text[] Как я могу сохранить вывод select в массиве colnames. Есть ли необходимость инициализировать имена столбцов?
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.