Извините за длинный 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' не существует.Это не таблица, а процедура.
Указатель, пожалуйста.
С уважением,
- Джонги