06:44
1,0×
00:00/06:44
29,7 тыс смотрели · 3 года назад
Функции и Хранимые процедуры SQL 🔎 Функция SQL предназначена для выполнения логики над данными с учетом входных параметров функции и возвращения одного значения, которое может быть либо скалярным (например, строка, число), либо табличным (набор строк). Функции обычно вызываются как часть выражения в SQL запросах и могут использоваться, например, для вычисления значения колонки, условий фильтрации в WHERE или как часть JOIN. Т.е. функции обычно включают в себя выполнение SELECT запросов, либо применение логических, математических функций с заданными параметрами. 🔎 Хранимая процедура включает в себя набор инструкций SQL, который сохранен под определенным именем и выполняется как единая операция. Хранимые процедуры могут принимать входные параметры, выполнять комплексные операции, включать логику управления потоком (например, условные конструкции IF и циклы LOOP), выполнять операции DML (create, insert, delete). ✏️ Сравнение функций и хранимых процедур: 1. Возвращаемые значения: - Функции: Всегда возвращают значение. Функция может возвращать одно значение (скалярное) или набор строк (таблицу). Возвращаемый тип данных должен быть указан при определении функции. - Хранимые процедуры: Не обязательно возвращают значения. В PostgreSQL, процедуры могут возвращать результат через выходные параметры (OUT), но они могут также быть использованы для выполнения операций без возвращения данных. 2. Вызов: - Функции: Могут вызываться внутри SELECT запросов, либо вызываться как результат самого запроса, например SELECT название_функции() - Хранимые процедуры: Вызов хранимой процедуры выполняется командой CALL название_процедуры() 3. Транзакции: - Функции: Обычно выполняются внутри транзакции вызывающего запроса и не могут управлять транзакциями самостоятельно (не могут выполнять команды COMMIT и ROLLBACK). - Хранимые процедуры: Могут включать команды управления транзакциями. Это позволяет процедурам выполнять несколько транзакций в рамках одного вызова. 4. Использование: - Функции: часто используются в запросах SQL как часть выражения в SELECT, WHERE или JOIN и для вычислений, которые требуют возвращения результата. - Хранимые процедуры: чаще используются для выполнения набора действий, которые могут включать несколько разных SQL операций, включая изменение схемы, обновление данных, управление пользователями и т. д. Статьи на эту тему: 📍 Функции и хранимые процедуры в SQL: зачем нужны и как применять в реальных примерах 📍Документация функций PostgreSQL 📍Документация процедур PostgreSQL 📍Stored Procedure vs Function in PostgreSQL
182 читали · 5 лет назад
Меняем длину CallerID Name в Asterisk
При интеграции с базами данных, когда сопоставляется номер звонящего с его именем, например, или используются другие схемы, в которых имя звонящего CallerID Name имеет большую длину, в CDR мы видим обрезанные (по полю CallerID Name) записи звонка. В статье расскажем о том, как расширить имя звонящего. НАСТРОЙКА Сделать данную процедуру невероятно просто. Для этого, мы просто воспользуемся функцией CALLERID. Для начала, открываем файл extensions_additional.conf: vim /etc/asterisk/extensions_additional...