SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.10.2014 17:41:23

uberegood
Участник
Зарегистрирован: 27.10.2014
Сообщений: 2

помогите

Доброго времени суток.У меня возникла проблема при создании хранимой процедуры.
http://savepic.org/6341677.png
есть некая таблица. мне нужно чтобы при в поле время года вносились записи :"зима","лето","осень","весна" в зависимости от месяца рождения человека.
select month(birthday) from table1;
этот запрос выводит месяца. как я понимаю нужно использовать 2 цикла.do while, для того чтобы обрабатывать строку и 4 цикла if.Но я не могу написать их.

delimiter //
create procedure proc()
Begin
declare col int;
declare y int;
declare x int;
declare year1 int;
select count(*) from table1 into x;
set y=0;
Asd: while i<=a DO
set y=y+1;
select MONTH (birthday) from table1 into year1;
if ((year1='0')or(year1='2')) then Update table1 set vremya_goda = 'zima' ;
if ((year1='3')or(year1='5'))then update table1  set vremya_goda='vesna';
if ((year1='6')or(year1='8'))then update table1  set vremya_goda='leto';
if ((year1='9')or(year1='11'))then update table1 set vremya_goda='osenb';
update table1 set performance=year1 where n_ticket=y;
if y<=x then iterate asd;
else leave asd;
end if;
end loop;
select * from table1;
end//


Что-то пытался, но не вышло. Помогите пожалуйста.

Неактивен

 

#2 27.10.2014 19:59:36

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите

update table1 set vremya_goda = if(MONTH(birthday) in (12,1,2), 'zima', if(MONTH (birthday) in (3,4,5), 'vesna',if(MONTH (birthday) in (6,7,8),'leto','osen'))); -- Обновит всю таблицу

Для остального времени используйте триггеры.

Неактивен

 

#3 27.10.2014 21:35:47

uberegood
Участник
Зарегистрирован: 27.10.2014
Сообщений: 2

Re: помогите

vasya написал:

update table1 set vremya_goda = if(MONTH(birthday) in (12,1,2), 'zima', if(MONTH (birthday) in (3,4,5), 'vesna',if(MONTH (birthday) in (6,7,8),'leto','osen'))); -- Обновит всю таблицу

Для остального времени используйте триггеры.

Большое спасибо

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson