sql >> データベース >  >> RDS >> Mysql

プロシージャmysqlCRUDの作成中にエラーが発生しました

    • Delimiterを再定義する必要があります 他の何かに、例えば:$$ 。これにより、パーサーは;を無視できます。 (したがって、;に到達したときにステートメントを実行しないでください 。
    • また、グッドプラクティスとして、常にDROP PROCEDURE IF EXISTSを使用してください。 、同じ名前のプロシージャがすでに存在する場合に失敗しないようにするため。
    • 最後に、区切り文字を;に再定義します。

    次のことを試してください:

    DELIMITER $$
    
    DROP PROCEDURE IF EXISTS `ItemsAddOrEdit` $$
    
    CREATE PROCEDURE `ItemsAddOrEdit`(
    _itm_id INT,
    _itm_name VARCHAR(255),
    _itm_price FLOAT(8,2)
    )
    BEGIN
        IF _itm_id = 0 THEN
        INSERT INTO items (itm_name, itm_price)
        VALUES (_itm_name, _itm_price);
    ELSE
        UPDATE items
        SET
            itm_name = _itm_name,
            itm_price = _itm_price
        WHERE itm_id = _itm_id;
    END IF;
    END $$
    
    DELIMITER ;
    



    1. DBCC CLONEDATABASEを使用して、SQL Server2014SP2のユーザーデータベースのスキーマと統計のみのコピーを生成する

    2. マージ結合連結によるソートの回避

    3. OpenCart1.5でのデータベースバックアップの復元

    4. オランダアクセス開発者の日2019–9月14日