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




MySQL.RU - Webboard



Вернуться
Несколько запросов в хранимой продцедуре. (Prad) 05/03/2009 - 12:18:08
      Re: Несколько запросов в хранимой продцедуре. (dba) 10/03/2009 - 18:44:15

> Original message text:
> From: Prad - 05/03/2009 - 12:18:08
> Subject:Несколько запросов в хранимой продцедуре.
> -----------------
> Написал вот такую храниму продцедуру:
>
> CREATE DEFINER=`root`@`localhost` PROCEDURE `prAddFullName`(IN inLastname varchar(20),
> IN inFirstname varchar(20),
> IN inSecondname varchar(20))
> BEGIN
> INSERT INTO
> lastname(Lastname)
> VALUES
> (inLastname);
> INSERT INTO
> firstname(Name)
> VALUES
> (inFirstname);
> INSERT INTO
> secondname(Secondname)
> VALUES
> (inSecondname);
>
> INSERT INTO
> fullname(LastnameID,NameID,SecondnameID)
> SELECT
> lastname.id,firstname.id,secondname.id
> FROM
> lastname,firstname,secondname
> WHERE
> Lastname = inLastname
> AND Name = inFirstname
> AND Secondname = inSecondname;
> END
>
> Знаю что коряво! Подскажите как правильно?
> И вот косяк вылазит- если поля Lastname, Name или Secondname сделать уникальными может вызваться ексепшн Duplicated - как быть в таком случае?? Есть ли какой-то аналог блоков try{}catch{}(перехвата ексепшенов) в SQL?
>


From: dba - 10/03/2009 - 18:44:15
Subject:Несколько запросов в хранимой продцедуре.
-----------------
в случае уникального ключа можно использовать REPLACE или добавить в INSERT ... ON DUPLICATE KEY UPDATE

exception handling: http://dev.mysql.com/doc/refman/5.0/en/declare-handler.html


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

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

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



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