Встречается на собеседованиях • сегодня

Писал ли хранимые процедуры и функции в SQL

Да, писал хранимые процедуры и функции в SQL. В PostgreSQL это выглядит так:

sql
-- Процедура для обновления цены товара
CREATE OR REPLACE PROCEDURE update_product_price(
    product_id INT,
    new_price DECIMAL
)
LANGUAGE SQL
AS $$
    UPDATE products
    SET price = new_price
    WHERE id = product_id;
$$;

-- Функция для расчета скидки
CREATE OR REPLACE FUNCTION calculate_discount(
price DECIMAL,
discount_percent INT
) RETURNS DECIMAL
LANGUAGE SQL
AS $$
SELECT price * (100 - discount_percent) / 100;
$$;

text

Основные отличия:
- Процедуры выполняют действия (INSERT/UPDATE/DELETE), не возвращают значения
- Функции возвращают результат вычислений
- В PostgreSQL 11+ процедуры поддерживают транзакции внутри себя

Часто использовал их для сложной бизнес-логики, которая выполняется на стороне БД для оптимизации производительности.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы