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

MySQLでストアドプロシージャを作成する方法

    ストアドプロシージャを使用すると、SQLクエリを保存して呼び出すことができるため、クエリを複数回使用する必要がある場合でも、クエリを書き直したり変更したりする必要はありません。 MySQLでストアドプロシージャを作成する方法は次のとおりです。

    MySQLのストアドプロシージャとは何ですか?

    ストアドプロシージャは、SQLクエリをMySQLのサブルーチン関数として保存する方法であり、後で必要に応じて呼び出すことができます。名前、パラメータリスト、SQLステートメントがあります。変更を加えずに、またはわずかな変更を加えて、同じSQLクエリを複数回実行する必要がある場合に最適なオプションです。

    ボーナスリード:MySQLで新しいユーザーを作成する方法

    MySQLでストアドプロシージャを作成する方法

    MySQLCREATEPROCEDUREステートメントを使用してMySQLでストアドプロシージャを作成する手順は次のとおりです。

    MySQLでストアドプロシージャを作成するための構文は次のとおりです。

    DELIMITER //
    CREATE PROCEDURE procedure_name(optional_list_of_arguments)
    BEGIN
    	sql_query;
    END //
    DELIMITER ;

    上記のクエリでは、 procedure_name 後で呼び出すために必要なストアドプロシージャの名前です。 optional_list_of_arguments は、通常、関数に渡す引数のリストです。

    sql_query ストアドプロシージャを呼び出すときに実行されるSQLクエリです。引数のリストをSQLクエリで使用して、動的にすることができます。

    ボーナスリード:MySQLでデータベースを作成する方法

    これは、注文からすべてのレコードを返す単純なSQLクエリです。 テーブル。

    mysql> select * from orders;
    

    ストアドプロシージャget_ordersでラップされた上記のSQLクエリは次のとおりです。

    DELIMITER //
    CREATE PROCEDURE get_orders()
    BEGIN
    	SELECT *  FROM orders;
    END //
    DELIMITER ;

    上記のクエリでは、ストアドプロシージャのパラメータを定義していません。

    ボーナスリード:MySQLに外部キーを追加する方法

    Stored_procedureを呼び出すには、CALLステートメントを使用する必要があります。ストアドプロシージャを呼び出すための構文は次のとおりです。

    CALL procedure_name(list of arguments);
    

    MySQLでストアドプロシージャを呼び出す方法は次のとおりです。

    mysql> call get_orders();
    +----+--------------+------------+-------+-------------+---------------------+
    | id | product_name | order_date | price | description | created_at          |
    +----+--------------+------------+-------+-------------+---------------------+
    |  1 | A            | 2020-07-01 |   150 | New product | 2020-06-01 00:00:00 |
    |  2 | B            | 2020-07-01 |   235 | Old product | 2020-06-15 00:00:00 |
    +----+--------------+------------+-------+-------------+---------------------+
    

    うまくいけば、My​​SQLでストアドプロシージャを作成できるようになりました。

    ボーナスリード:MySQLでパラメータを使用してストアドプロシージャを作成する方法

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. sqlAlchemyを使用したスト​​アドプロシージャ

    2. MySQL-選択時に行番号を取得

    3. 列を変更してデフォルト値を変更するにはどうすればよいですか?

    4. トランザクション内のエラーを無視するようにPostgresqlに依頼できますか