Процедура может выполняться DML
, функция не может.
Как правило, функция предназначена для использования в качестве части запроса, в то время как хранимая процедура представляет собой пакет из SQL
операторов, выполняемых вместе, реализующих некоторую бизнес-логику, возможно с разными учетными данными.