Показать сообщение отдельно
Старый 01.07.2010, 23:05
Сайлас вне форума Посмотреть профиль Отправить личное сообщение для Сайлас Найти все сообщения от Сайлас
  № 37  
Ответить с цитированием
Сайлас

Регистрация: Mar 2008
Сообщений: 259
Ну первое что приходит в голову на SQL
Код:
CREATE DEFINER=`root`@`localhost` PROCEDURE `loopFizzBuzz`()
BEGIN

 DECLARE i INTEGER;
 DECLARE s TEXT;
 DECLARE ls TEXT;
 DECLARE comma VARCHAR(1);
 SET comma = '';
 SET i = 1;
 SET s = '';
 WHILE i < 101 DO
  SET ls = '';
  IF (i % 3) = 0 THEN
   SET ls = 'Fizz';
  END IF;
  IF (i % 5) = 0 THEN
   SET ls = CONCAT(ls,'Buzz');
  ELSEIF ls = '' THEN
   SET ls = i;
  END IF;
  SET s = CONCAT(s,comma,ls);
  IF comma = '' THEN
   SET comma = ',';
  END IF;
  SET i = i + 1;
 END WHILE;
 SELECT s;
END
PS - это на скорую руку, так можно некоторые вещи по-разному сделать. Здесь все выводится в одну строку, а не каждое значение в row


Последний раз редактировалось Сайлас; 01.07.2010 в 23:18.