В простом и понятном виде это имеет значение.
Функции:
Эти подпрограммы возвращают одно значение ; в основном используется для вычисления и возврата значения.
Процедура:
Эти подпрограммы не возвращают значение напрямую; в основном используется для выполнения действий.
Пример программы:
CREATE OR REPLACE PROCEDURE greetings
BEGIN
dbms_output.put_line('Hello World!');
END ;
/
Выполнение отдельной процедуры:
Автономная процедура может быть вызвана двумя способами:
• Использование ключевого слова EXECUTE
• Вызов имени процедуры из блока PL / SQL
Процедуру также можно вызывать из другого блока PL / SQL:
BEGIN
greetings;
END;
/
Функция:
CREATE OR REPLACE FUNCTION totalEmployees
RETURN number IS
total number(3) := 0;
BEGIN
SELECT count(*) into total
FROM employees;
RETURN total;
END;
/
Следующая программа вызывает функцию totalCustomers
из другого блока
DECLARE
c number(3);
BEGIN
c := totalEmployees();
dbms_output.put_line('Total no. of Employees: ' || c);
END;
/