Функциите на PostgreSQL са съхранени процедури, които ви позволяват да съхранявате набор от операции с база данни във функция, която може да се извиква многократно, без ръчно въвеждане на инструкции всеки път. Това е страхотна програма за повторно използване на база данни и автоматизация в приложения. Можете също да го използвате за създаване на дефинирани от потребителя функции и съхранени процедури. Ето как да използвате командата за създаване на функция на PostgreSQL.
Функция за създаване на PostgreSQL
Ето синтаксиса на PostgreSQL CREATE FUNCTION.
CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype AS $variable_name$ DECLARE declaration; [...] BEGIN < function_body > [...] RETURN { variable_name | value } END; LANGUAGE plpgsql;
В горната заявка трябва да посочите
име_на_функция – име на функцията
[ИЛИ ЗАМЕНИ] – незадължителна ключова дума за промяна на съществуваща функция
function_body – набор от операции, които да се изпълняват като част от функция
връщане изявление със или без връщаща променлива/стойност
декларира променливи за съхраняване на стойности на функции
език – PostgreSQL ви позволява да дефинирате функция на различни езици, като PostgreSQL, SQL, C, Python и други процедурни езици.
Бонус за четене:PostgreSQL Създаване на схема
Пример за СЪЗДАВАНЕ НА ФУНКЦИЯ
Ето пример за това как да създадете съхранена процедура в PostgreSQL. Да приемем, че имате следната таблица продажби
postgres=# select * from sales; order_date | sale ------------+------ 2020-04-01 | 210 2020-04-02 | 125 2020-04-03 | 150 2020-04-04 | 230 2020-04-05 | 200 2020-04-10 | 220 2020-04-06 | 250 2020-04-07 | 215 2020-04-08 | 300 2020-04-09 | 250
Бонус четене:PostgreSQL Създаване на база данни
Нека създадем функция total(), която отчита броя на редовете в продажби таблица
postgres=# CREATE OR REPLACE FUNCTION total() RETURNS integer AS $total$ declare total integer; BEGIN SELECT count(*) into total FROM sales; RETURN total; END; $total$ LANGUAGE plpgsql; CREATE FUNCTION
В горната заявка сме дефинирали функция total(), така че тя да изпълнява SQL заявката, спомената между BEGIN и END, и да съхранява резултата в декларираната променлива $total, която се връща след изпълнение на функцията.
Ето как да изпълните функцията PostgreSQL
postgres=# select total(); total ------- 10
Бонус за четене:Как да създадете хистограма в PostgreSQL
Надяваме се, че горният урок ще ви помогне да създадете дефинирана от потребителя функция и съхранена процедура в PostgreSQL.
Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте го днес!