Sobes.tech
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;

Функсияҳо одатан барои ҳисобҳо истифода мешаванд ва натиҷаро бармегардонанд, равандуҳо — барои иҷрои амалҳо, аксар вақт бо таъсири тараф.