Что такое хранимые процедуры в БД
Python
Middle
Без компании
Что такое хранимые процедуры в БД
Ответы
Хранимые процедуры (stored procedures) — это предварительно скомпилированные SQL-запросы, хранящиеся в самой базе данных. Они позволяют инкапсулировать бизнес-логику на стороне сервера, повышая производительность и безопасность.
**Преимущества:**
- Повторное использование кода
- Ускорение выполнения (предкомпиляция)
- Безопасность (ограничение прямого доступа к таблицам)
- Снижение сетевого трафика (один вызов вместо множества запросов)
**Пример (PostgreSQL):**
```
CREATE OR REPLACE PROCEDURE transfer_funds(
sender_id INT,
recipient_id INT,
amount DECIMAL
) AS $$
BEGIN
UPDATE accounts SET balance = balance - amount WHERE id = sender_id;
UPDATE accounts SET balance = balance + amount WHERE id = recipient_id;
COMMIT;
END;
$$ LANGUAGE plpgsql;
```
Вызов из Python:
```
cursor.callproc('transfer_funds', (1, 2, 100.0))
```
Хранимые процедуры особенно полезны для сложных транзакций и операций, требующих атомарности.