ストアド プロシージャは、通常のコンピューティング言語のコンテキストでは、データベースに保存されるサブルーチンのようなサブルーチンとして定義できます。 MySQL のコンテキストでは、これはデータベース ディレクトリに保存される宣言的な SQL ステートメントです。 MySQL 5 ではストアド プロシージャが導入されたため、MySQL でストアド プロシージャを記述する前にバージョンを確認する必要があります。ストアド プロシージャを作成する構文は次のとおりです。
CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body proc_parameter: [ IN | OUT | INOUT ] param_name type type: Any valid MySQL data type characteristic: COMMENT 'string' | LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } routine_body: Valid SQL routine statement
以下は、テーブルからすべてを取得する簡単なプロシージャを作成した例です。 「student_info」レコード。これらのレコードには次のデータがあります。 -
mysql> select * from student_info; +-----+---------+------------+------------+ | id | Name | Address | Subject | +-----+---------+------------+------------+ | 100 | Aarav | Delhi | Computers | | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | Literature | | 110 | Rahul | Chandigarh | History | +------+--------+------------+------------+ 4 rows in set (0.00 sec)
次に、次のクエリを使用して、allrecords()
mysql> Delimiter // mysql> Create Procedure allrecords() -> BEGIN -> Select * from Student_info; -> END// Query OK, 0 rows affected (0.02 sec) mysql> DELIMITER ;
以上がストアド プロシージャとは何ですか? MySQL ストアド プロシージャを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。