Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5 семестр / sql / ФКолВоСпектаклейРежиссера

.sql
Скачиваний:
4
Добавлен:
03.06.2024
Размер:
1 Кб
Скачать
DELIMITER //
CREATE FUNCTION КоличествоСпектаклейРежиссера(РежиссерИмя VARCHAR(45)) 
    RETURNS INT
    DETERMINISTIC
BEGIN
    DECLARE КоличествоСпектаклей INT DEFAULT 0;
    DECLARE НазваниеСпектакля VARCHAR(45);

    DECLARE cur CURSOR FOR 
        SELECT Название FROM Спектакли WHERE Режиссер = РежиссерИмя;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET @finished = 1;

    OPEN cur;
    read_loop: LOOP
        FETCH cur INTO НазваниеСпектакля;
        IF @finished = 1 THEN
            LEAVE read_loop;
        END IF;
        SET КоличествоСпектаклей = КоличествоСпектаклей + 1;
    END LOOP;
    CLOSE cur;

    RETURN КоличествоСпектаклей;
END //
DELIMITER ;
SELECT КоличествоСпектаклейРежиссера('Алексей Иванов') AS 'Количество спектаклей';