MySQL вызывает хранимую процедуру из другой хранимой процедуры

Извините за длинный POST: возможно ли, что я могу вызвать хранимые процедуры из другой хранимой процедуры в MySQL. Например: у меня есть две таблицы (test и testcomp): со структурами ниже:

-- Структура таблицы для таблицы test

CREATE TABLE IF NOT EXISTS `test` (
    `t_id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(255) NOT NULL,
    PRIMARY KEY (`t_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

а также

-- Структура таблицы для таблицы testcomp

CREATE TABLE IF NOT EXISTS `testcomp` (
    `c_id` int(11) NOT NULL AUTO_INCREMENT,
    `t_id` int(4) NOT NULL,
    `place` varchar(255) NOT NULL,
    PRIMARY KEY (`c_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

Теперь я заполнил тестовую таблицу:

INSERT INTO `test` (`t_id`, `name`) VALUES
    (1, 'foo'),
    (2, 'bar'),
    (3, 'ma');

и таблица testcomp с:

INSERT INTO `testcomp` (`c_id`, `t_id`, `place`) VALUES
    (1, 1, 'gugs'),
    (2, 2, 'nyanga'),
    (3, 1, 'gugs'),
    (4, 3, 'skom');

Теперь, если у меня есть 2 процедуры:

Первый QryTestComp:

SELECT t_id, place FROM TestComp

Тот, что выше, работает как просто запрашивающая обычная таблица: Но второй QryTestPlac, который вызывает вышеуказанную процедуру:

SELECT * FROM Test INNER JOIN QryTestComp ON Test.t_id = QryTestComp.t_id

Приходит с ошибкой:

Пишет Ошибка: 1146 (42S01): таблица mydb.qrytestcomp не существует. Это не таблица, а процедура.

Указатель, пожалуйста.

С уважением,

--Джонги


person Jongilanga GUma    schedule 05.11.2010    source источник


Ответы (1)


вы не можете присоединиться к хранимой процедуре, возможно, использование представлений может быть более подходящим?

person Jon Black    schedule 05.11.2010
comment
В качестве альтернативы рассмотрите возможность выбора временной таблицы из хранимой процедуры, а затем присоединения к ней. Однако просмотры имеют больше смысла. - person Ant; 05.11.2010
comment
Спасибо, виды работают как шарм, это то, что я хотел! Хорошего дня - person Jongilanga GUma; 05.11.2010