長い投稿で申し訳ありません: MySQL の別のストアド プロシージャからストアド プロシージャを呼び出すことは可能ですか? 例: 2 つのテーブル (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
上記のものは、通常のテーブルを照会するだけで機能します: しかし、上記の手順を呼び出す 2 つ目の QryTestPlac:
SELECT * FROM Test INNER JOIN QryTestComp ON Test.t_id = QryTestComp.t_id
エラーが発生します:
エラー: 1146 (42S01): テーブル 'mydb.qrytestcomp' が存在しません。それはテーブルではなく手順です。
ポインタをください。
よろしく、
――ジョンギ