データベース(name : db)
にプロシージャ(name : 'delete_catelog_item does')
を作成し、そのプロシージャを実行しようとしました。このようなエラーが表示されるのは#1305 - PROCEDURE db.procedurename does not exist
です。1305 - PROCEDURE db.delete_catelog_itemは存在しません
マイクエリ
DELIMITER //
CREATE DEFINER=`root`@`localhost` PROCEDURE `delete_catelog_item`(IN itemtocatid INT(11),IN shopinid INT(11),OUT out_put BOOL)
BEGIN
DECLARE cont INT(11);
DECLARE itemid INT(11) DEFAULT 0;
SELECT a.ItmId INTO itemid FROM mas_shop_item_to_category as a INNER JOIN mas_shop_item as b ON (a.ItmID=b.ItmID AND b.IsDelete!=1 AND b.ShopID IN (SELECT ShopID FROM mas_shop WHERE ShopID=shopinid OR ParentID=shopinid)) WHERE a.ItmToCatID=itemtocatid AND a.IsDelete!=1;
IF itemid!=0 THEN
UPDATE mas_shop_item_to_category SET `IsDelete` = '1' WHERE ItmToCatID=itemtocatid;
SELECT count(ItmToCatID) INTO cont FROM mas_shop_item_to_category WHERE ItmId=itemid AND IsDelete!=1;
IF cont=0 THEN
UPDATE mas_shop_item SET `IsDelete` = '1' WHERE ItmID=itemid;
END IF;
SET out_put=TRUE;
ELSE
SET out_put=FALSE;
END IF;
END //
DELIMITER ;
Apache/2.2.14 (Ubuntu)
MySQL client version: 5.1.41
PHP extension: mysql
私は、実際の理由を把握することはできませんが、私は私のデータベースに手順を確認したときにそれがありました。 問題の発見にお手伝いください。
ありがとうございました。
1305 - 手順db.delete_catelog_itemが存在しません。これは実際のエラーメッセージです。私は私が作成した同じ名前を使用してプロシージャを呼び出そうとしました。 –
@ルシルサンドルワン:そうです。質問を編集してそこのメッセージを修正する必要がありますか? 'db'はプロシージャを作成したデータベースの名前ですか? – eggyal
はいdbはdbの名前です。 –