Sobes.tech
Middle

Prosedur və funksiya arasındakı fərqlər

sobes.tech Süni İntellekt

AI-dan cavab

Prosedur və funksiya verilənlər bazalarında və proqramlaşdırmada alt proqramlardır, lakin onların arasında əsas fərqlər var:

  • Funksiya həmişə dəyər qaytarır və ifadələrdə istifadə oluna bilər, məsələn, SELECT-də.
  • Prosedur əməliyyatlar yerinə yetirə bilər (məsələn, məlumatları dəyişə bilər), lakin birbaşa dəyər qaytarmalı deyil.

SQL (PL/pgSQL) nümunəsi:

-- Funksiya iki ədədi cəmləyir
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT AS $$
BEGIN
  RETURN a + b;
END;
$$ LANGUAGE plpgsql;

-- Prosedur cədvələ qeyd əlavə edir
CREATE PROCEDURE insert_user(name TEXT) AS $$
BEGIN
  INSERT INTO users(username) VALUES (name);
END;
$$ LANGUAGE plpgsql;

Funksiyalar ümumiyyətlə hesablamalar üçün istifadə olunur və nəticə qaytarır, prosedurlar — əməliyyatlar üçün, çox vaxt yan təsirlərlə.