Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Насчет хранимой процедуры (Student) 19/11/2008 - 21:03:51
      Re: Насчет хранимой процедуры (Student) 23/11/2008 - 17:32:02

> Original message text:
> From: Student - 19/11/2008 - 21:03:51
> Subject:Насчет хранимой процедуры
> -----------------
> Из основной программы заполняю форму вызываю хранимые процедуры в mysql и передаю им данные например для внесения нового клиента. Допустим есть всего две таблицы.
>
> Первая people
> id_people
> name
> surname
> otch
>
> Вторая uslugi
> id_uslugi
> usluga
> id_people
>
> Сначала добавляю фамилию имя отчество в таблицу people потом услугу в uslugi а вот как взять id_people который получается после первого запроса и добавить его во второй запрос не знаю подскажите пожалуйста как это сделать.
>
> CREATE DEFINER=`root`@`localhost` PROCEDURE `new_pacient`(IN Surname VARCHAR(25) ,Name VARCHAR(25),Otch VARCHAR(25),Usluga VARCHAR(25))
> BEGIN
> INSERT INTO people ( `Surname` , `Name` , `Otch` ) VALUES (Surname, Name, Otch);
> INSERT INTO uslugi (`usluga`) VALUES (Usluga);
> END
>


From: Student - 23/11/2008 - 17:32:02
Subject:Насчет хранимой процедуры
-----------------
Нашел решение проблемы. Идентификатор последней вставленной записи можно узнать с помощью LAST_INSERT_ID()
Конкретно для указанного выше случая

CREATE DEFINER=`root`@`localhost` PROCEDURE `new_pacient`(IN Surname VARCHAR(25) ,Name VARCHAR(25),Otch VARCHAR(25),Usluga VARCHAR(25))
BEGIN
INSERT INTO people ( `Surname` , `Name` , `Otch` ) VALUES (Surname, Name, Otch);
INSERT INTO uslugi (`usluga`,`id_people`) VALUES (Usluga,LAST_INSERT_ID());
END

Еще можно запомнить в переменную хранимой процедуры и потом пользоваться
SELECT LAST_INSERT_ID() INTO people_id ;


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
34584



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |