SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

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

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

Вы не зашли.

#1 16.02.2011 13:20:07

Seuren
Участник
Зарегистрирован: 10.02.2011
Сообщений: 7

хранение результата select запроса в переменной

Имеется две таблицы А и Б. А - хранит данные, Б - состоит из 3 полей: первичный ключ записи, ключ родителя(из таблицы А), ключ потомка(из таблицы А). Т.е. А - содержит узлы, Б - ребра. Структура дерева.
Необходимо в триггере реализовать вставку новых ребер в таблицу Б, которые соответствуют ребрам со всеми вышестоящими узлами (т.е. с непосредственным родителем и родителями родителей).

Для этого надо по select запросу получить данные из таблицы Б и как-то их хранить, чтобы не делать цикл и N раз посылать запросы в базу.
Собственно сам вопрос: каким образом можно сохранить в переменную данные запроса выборки и как к ним потом вести обращение?

Неактивен

 

#2 16.02.2011 15:00:36

Seuren
Участник
Зарегистрирован: 10.02.2011
Сообщений: 7

Re: хранение результата select запроса в переменной

спасибо больше не требуется.. почитал, узнал что такое курсор - хватилоsmile

Неактивен

 

#3 21.02.2011 12:10:46

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: хранение результата select запроса в переменной

Насколько я понимаю, можно и не курсором: достаточно вставить только непосредственного
родителя, а остальные унаследовать (в конце концов, дедушки там уже описаны):
INSERT INTO parents (parent, id) SELECT parent, NEW.parent FROM parents WHERE id = NEW.parent
где NEW.parent — id родителя вставляемой строки.

Неактивен

 

Board footer

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