Middle
Фарқиятҳои байни раванҷ ва функсия
sobes.tech AI
Ҷавоб аз AI
Раванду ва функсия дар базаҳои додаҳо ва барномасозӣ зербарномаҳо ҳастанд, аммо байни онҳо фарқҳои калидӣ мавҷуданд:
- Функсия ҳамеша арзишро бармегардонад ва дар изразҳо истифода мешавад, масалан, дар SELECT.
- Раванду метавонад амалҳоро иҷро кунад (масалан, маълумотро тағир диҳад), аммо маҷбур нест, ки арзишро мустақиман баргардонад.
Масал дар SQL (PL/pgSQL):
-- Функсия ҷамъ кардани ду рақамро бармегардонад
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT AS $$
BEGIN
RETURN a + b;
END;
$$ LANGUAGE plpgsql;
-- Раванду дар ҷадвал сабт ворид мекунад
CREATE PROCEDURE insert_user(name TEXT) AS $$
BEGIN
INSERT INTO users(username) VALUES (name);
END;
$$ LANGUAGE plpgsql;
Функсияҳо одатан барои ҳисобҳо истифода мешаванд ва натиҷаро бармегардонанд, равандуҳо — барои иҷрои амалҳо, аксар вақт бо таъсири тараф.