0
私は3つのテーブルから行を削除するストアドプロシージャを持っています。プロシージャとMySqlバージョン5.1.47の複数のクエリ
DROP procedure IF EXISTS `Epurer_Documents`;
DELIMITER $$
CREATE DEFINER=`dba_account`@`localhost` PROCEDURE `Epurer_Documents`(IN start_E INTEGER,IN pas_E INTEGER)
BEGIN
DELETE gdan from ged_document_annotation_individual as gdan
INNER JOIN ged_document_annotation as gda on gdan.id_ged_document_annotation=gda.id_ged_document_annotation
INNER JOIN ged_document as gd on gd.id_ged_document=gda.id_ged_document
INNER JOIN EpureridsgeFdolder as igf on gd.id_ged_folder = igf.id_ged_folderToEpurer
WHERE igf.id_ged_folderToEpurer in
(select id_ged_folderToEpurer from
(select id_ged_folderToEpurer from EpureridsgeFdolder limit start_E , pas_E) as x);
DELETE gdrs FROM ged_document_revision_seal as gdrs
INNER JOIN ged_document_revision as gdr on (gdrs.id_ged_document_revision_child=gdr.id_ged_document_revision
INNER JOIN EpureridsgeFdolder as igf on gd.id_ged_folder = igf.id_ged_folderToEpurer
WHERE igf.id_ged_folderToEpurer in
(select id_ged_folderToEpurer from
(select id_ged_folderToEpurer from EpureridsgeFdolder limit start_E , pas_E) as x);
DELETE FROM ged_folder WHERE id_ged_folder in (select id_ged_folderToEpurer from (select id_ged_folderToEpurer from EpureridsgeFdolder limit start_E , pas_E) as x);
END$$
DELIMITER ;
私はそれを実行するとエラーが表示されます: ""、near、pas_E)x)。 gdrsを削除します。 ""、 ですが、MySqlのoutherバージョンで実行すると正しく動作します。 私は古いバージョンのmySQLがストアドプロシージャの複数のクエリをサポートしていないのではないかと思います。
Thansk