Руководство по созданию эффективных запросов



Download 17,08 Mb.
Pdf ko'rish
bet147/210
Sana25.06.2022
Hajmi17,08 Mb.
#704548
TuriРуководство
1   ...   143   144   145   146   147   148   149   150   ...   210
Bog'liq
OptimizZaprvPostgreSQL

с
оздание
 
функЦий
В PostgreSQL есть и встроенные (внутренние) функции, и пользовательские 
функции. В этом отношении нет отличий от других языков программирова-
ния.
Встроенные функции
Встроенные функции написаны на языке C и интегрированы с сервером Post-
greSQL. Для каждого типа данных, поддерживаемого PostgreSQL, существует 
ряд функций, которые выполняют различные операции с переменными или 


194

Функции
значениями столбцов этого типа. Подобно императивным языкам, имеются 
функции для математических операций, функции для работы со строками, 
функции для работы с датой и временем и т. п. Более того, список доступных 
функций и поддерживаемых типов расширяется с каждым новым выпуском.
Примеры встроенных функций показаны в лис тинге 11.1.
Листинг 11.1 

Примеры встроенных функций
sin(x);
substr(first_name,1,1);
now();
Пользовательские функции
Пользовательские функции – это функции, которые создает сам пользова-
тель. PostgreSQL поддерживает три типа пользовательских функций:
 

функции на языке запросов, то есть функции, написанные на SQL;
 

C-функции, написанные на языке C (или C-подобных языках, напри-
мер C++);
 

функции, написанные на одном из поддерживаемых процедурных 
языков.
В лис тинге 11.2 представлена команда 
CREATE
FUNCTION
.
Листинг 11.2 

Команда CREATE FUNCTION
CREATE FUNCTION function_name (par_name1 par_type1, ...)
RETURNS return_type
AS

LANGUAGE plpgsql;
С точки зрения PostgreSQL, движок базы данных воспринимает только 
сигнатуру функции – имя функции, список ее параметров (которых может 
и не быть) и тип возвращаемого значения (который может быть пустым), – 
а также некоторые спецификации, например язык, на котором написана 
функция. Тело функции упаковано в строковый литерал, который передается 
специальному обработчику, знающему, как работать с указанным языком. 
Обработчик может либо сам выполнять всю работу по разбору, синтаксиче-
скому анализу, выполнению и т. д., либо может служить связующим звеном 
между PostgreSQL и существующей реализацией языка программирования. 
Стандартный дистрибутив PostgreSQL поддерживает четыре процедурных 
языка: PL/pgSQL, PL/Tcl, PL/Perl и PL/Python. В этой книге мы будем обсуж-
дать только функции, написанные на PL/pgSQL.

Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   143   144   145   146   147   148   149   150   ...   210




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish