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


Возможность выполнять динамический SQL



Download 17,08 Mb.
Pdf ko'rish
bet168/210
Sana25.06.2022
Hajmi17,08 Mb.
#704548
TuriРуководство
1   ...   164   165   166   167   168   169   170   171   ...   210
Bog'liq
OptimizZaprvPostgreSQL

Возможность выполнять динамический SQL
Это еще одна исключительно мощная возможность PostgreSQL, которую час-
то недооценивают и которая обсуждается более подробно в главе 12.


218

Функции
х
ранимые
 
ПроЦедуры
К большому разочарованию первых последователей, пришедших из коммер-
ческих систем, в PostgreSQL какое-то время не было хранимых процедур, 
Что касается авторов, то нас особенно разочаровала атомарность функций, 
не позволяющая управлять транзакциями, в том числе фиксировать проме-
жуточные результаты.
Функции, не возвращающие результат
Какое-то время у разработчиков PostgreSQL не было другого выбора, кроме 
как использовать функции вместо хранимых процедур. Для этого можно ис-
пользовать функции, возвращающие значение типа 
void
, например
CREATE OR REPLACE function cancel_flight (p_filght_id int)
RETURNS void
AS <...>
В PL/pgSQL есть также альтернативный способ вызова функций:
PERFORM issue_boarding_pass (175820,462972, '22C', '2020-06-16 21:45'::timestamptz)
При этом функция выполнится и создаст посадочный талон, но не вернет 
результат.
Функции и хранимые процедуры
Разница между функциями и хранимыми процедурами заключается в том, 
что процедуры не возвращают никаких значений; таким образом, мы не 
указываем возвращаемый тип. В лис тинге 11.24 представлена команда 
CREATE
PROCEDURE
, которая очень похожа на команду 
CREATE
FUNCTION.
Листинг 11.24 

Команда 
CREATE
PROCEDURE
CREATE PROCEDURE procedure_name (par_name1 par_type1, ...)
AS
LANGUAGE plpgsql;
Синтаксис здесь такой же, как и у функции, за исключением того, что 
нет необходимости в типе возвращаемого значения. Все предыдущие раз-
делы о внутреннем устройстве функций также применимы и к хранимым 
процедурам. Для выполнения хранимой процедуры используется команда 
CALL
:
CALL cancel_flight(13);


Хранимые процедуры 


Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   164   165   166   167   168   169   170   171   ...   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