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


Знакомство с процедурным языком



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

Знакомство с процедурным языком
Поскольку мы рассматриваем функции, стоит формально представить язык 
(или языки), на котором могут быть написаны эти функции.


Создание функций 

195
До сих пор в этой книге использовался только SQL, и единственная коман-
да, кроме 
CREATE
, которую вы могли видеть во фрагментах кода, была 
SELECT

Теперь пора познакомиться с процедурными языками. В этой книге мы об-
суждаем лишь встроенный в PostgreSQL процедурный язык PL/pgSQL.
Функция, написанная на PL/pgSQL, может включать в себя любые инструк-
ции SQL (возможно, с некоторыми изменениями), управляющие структуры 
(
IF
THEN
ELSE

CASE

LOOP
) и вызовы других функций.
В лис тинге 11.3 представлен пример функции, написанной на PL/pgSQL, 
которая преобразует текстовую строку в число, а если это возможно, то воз-
вращает неопределенное значение.
Листинг 11.3 

Функция преобразования текстовой строки в число
CREATE OR REPLACE FUNCTION text_to_numeric(input_text text)
RETURNS numeric AS
$BODY$
BEGIN
RETURN replace(input_text, ',', '')::numeric;
EXCEPTION
WHEN OTHERS THEN
RETURN NULL::numeric;
END;
$BODY$
LANGUAGE plpgsql;
Используя информацию из лис тинга 11.2, мы можем назвать части, общие 
для всех пользовательских функций. Имя функции – 
text_to_numeric,
и у нее 
есть только один параметр 
input_text
типа 
text
.
Предложение 
RETURNS
определяет тип значения, возвращаемого функци-
ей (
numeric
), а предложение 
LANGUAGE
определяет язык, на котором написана 
функция (
plpgsql)
.
Теперь подробнее рассмотрим тело функции.

Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   144   145   146   147   148   149   150   151   ...   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