
Добавил:
useruser123
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
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 'Количество спектаклей';
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 'Количество спектаклей';
Соседние файлы в папке sql