Ko'p parametrli saqlangan protsedura



Download 1,07 Mb.
Sana05.07.2022
Hajmi1,07 Mb.
#739633
Bog'liq
SQL AMALIY1 (1)


O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

Amaliy Ish


Mavzu. Funktsiyalar va saqlangan protseduralarni yaratish,
o'zgartirish, qo'llash va o'chirish

Bajardi:SQL001_L1 guruh talabasi


Rustamov Dilmurod
Tekshirdi: Ganixodjaeva Dilfuza
Toshkent 2022

Saqlangan protsedura nima?
Saqlangan protsedura - bu siz saqlashingiz mumkin bo'lgan tayyorlangan SQL kodidir, shuning uchun kodni qayta-qayta ishlatish mumkin.
Shunday qilib, agar sizda qayta-qayta yozadigan SQL so'rovingiz bo'lsa, uni saqlangan protsedura sifatida saqlang va keyin uni bajarish uchun chaqiring.
Shuningdek, siz parametrlarni saqlangan protseduraga o'tkazishingiz mumkin, shuning uchun saqlangan protsedura uzatilgan parametr qiymatlari (qiymatlari) asosida harakat qilishi mumkin.

Saqlangan protsedura sintaksisi

create procedure usersAll LANGUAGE plpgsql AS $$
begin
SELECT*FROM users;
end;
$$ ;

Yuqoridagi saqlangan protsedurani quyidagicha bajariladi:


EXEC SelectAllusers;

Ko'p parametrli saqlangan protsedura
Bir nechta parametrlarni o'rnatish juda oson. Quyida ko'rsatilganidek, har bir parametr va ma'lumotlar turini vergul bilan ajrating.
Quyidagi SQL bayonoti "Users" jadvalidan ma'lum bir ismi ega bo'lgan ma'lum bir telefon nomerga ega bo’lgan userlarni tanlaydigan saqlangan protsedurani yaratadi:

CREATE PROCEDURE SelectAllCustomers @first_name nvarchar(30), @phone nvarchar(10)


AS
SELECT * FROM Customers WHERE first_name= @first_nameAND phone = @phone
EXEC SelectAllusers @first_name= 'Dilmurod', @phone = '+998999999999';

Postgresga ulangan intellij idea orgali users jadvalini yaratamiz


create table users (
id bigint generated always as identity primary key,
first_name varchar(20),
last_name varchar(20),
middle_name varchar(20),
phone varchar(15),
age integer ,
gmail varchar(20)
);

Jadvalga malumotlar kirtamiz


insert into users( first_name, last_name, middle_name, phone, age, gmail)
values ('Dilmurod', 'Rustamov', 'cecew', '+998999999999', 23,'dilmurod@gmail.com'),
('Sardor', 'Adcvwver', 'awsrgb', '+998935980000', 27, 'sardor@gmail.com'),
( 'Anvar2', 'svasv', 'sdvw', '+998935640001', 20, 'Anvar@gmail.com'),
( 'Sohib', 'advdwvw', 'ngfhngh', '+998938964313', 21, 'Sohib@gmail.com');





Endi mavzudan chetlashmagan holda shu jadvalimiz uchun funksiya va protseduralar yaratamiz:
Masalan, biz json berganimizda productni ozi avtomatom tablega saqlasin
create function create_users(first_name varchar, last_name varchar, middle_name varchar,
phone varchar, age integer, gmail varchar) returns boolean
language plpgsql
as
$$
begin
insert into users(first_name, last_name, middle_name, phone, age,gmail)
values (first_name, last_name, middle_name, phone, age, gmail);
return true;
end
$$;



Endi jadvaldagi ma`lumotni o`chiradigan delete_user degan protsedura yaratib ko`raylik.Unga maxsulot idsini berganimizda uni o`chirishi kerak.Shu sababdan deleted_user protseduramiz osha
Userni delete qiladi
create procedure delete_user(user_id bigint) language plpgsql
as
$$
begin
delete from users where id = user_id;
end;
$$;



call delete_user(1);

USER JADVALIDAN BITTA ROW O’CHIRILDI



Xulosa
Funksiya va protsedura deyarli bir xil narsa, ularning bitta farqi shundaki, funksiya qiymat qaytaradi, protsedura esa qiymat qaytarmaydi. Biz funcsiya va protseduralar bizning DT loyihamizni developer uchun qulaylik va kodni soddalashtirishga yordam beradi.
Download 1,07 Mb.

Do'stlaringiz bilan baham:




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