ストアドプロシージャを再作成しようとしています(本文を編集できないため)。私は、SHOWは、元のストアドプロシージャと同じ形式を使用するためには、CREATE PROCEDUREと呼ばれるが、私はそれを再作成しようとすると、私は次のエラーを取得:BEGINの後にMySQLストアドプロシージャ構文エラーが発生しました
ERROR 1064(42000):あなたは、あなたのSQL構文でエラーが発生しているが、あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして正しい構文を調べてください。近くの '' at line 11
ERROR 1064(42000):SQL構文に誤りがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックし、正しい構文が1行目のDECLARE organization_id BIGINT(20)UNSIGNEDの近くで使用するようにしてください。
ERROR 1064(42000):SQL構文に誤りがあります。ライン1
で「DECLAREがUNSIGNED BIGINT(20)lobby_pod_id」近くで使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルをチェックすると、ここでは、コードです:
CREATE DEFINER=`lms`@`10.0.0.%` PROCEDURE `create_organization`(
IN admin_username VARCHAR(255),
IN organization_name VARCHAR(100)
)
BEGIN
DECLARE admin_user_id BIGINT(20) UNSIGNED;
DECLARE organization_id BIGINT(20) UNSIGNED;
DECLARE lobby_pod_id BIGINT(20) UNSIGNED;
SELECT ID, account INTO admin_user_id, organization_id
FROM users
WHERE username = admin_username;
INSERT INTO pods (`title`, `description`, `owner`, `scene`)
VALUES (CONCAT(organization_name, " Village"),
CONCAT("General meeting space and hub for ", organization_name, " students and teachers."),
admin_user_id,
" Village"
);
END
私はSQL Fiddleに貼り付けますMySQL Syntax Checkに貼り付けても、同じ結果が得られました。私はそれが簡単なミスだと確信していますが、それは私には明らかではありません。あなたは、ストアドプロシージャの定義の前と後にdelimiter定義が欠落している
それだった - 私はそれを動作させるためにあなたのスケルトンから変更唯一のことは、私は末尾落とした「区切り文字を;」 – Pecam
あなたのセッションを通して//すべてのコマンドを終了させたいのでない限り、私はそれを元に戻します。私の答えが問題を解決するのに役立った場合、plsはそれを他の視聴者にあなたの質問が既に答えられたことを知らせるために受け入れたものとしてマークします。 – Shadow
ああ - それは私のコマンドの残りの部分が終わらない理由を説明する(facepalm) – Pecam