ホームページ >データベース >mysql チュートリアル >ストアド プロシージャとは何ですか? MySQL ストアド プロシージャを作成するにはどうすればよいですか?

ストアド プロシージャとは何ですか? MySQL ストアド プロシージャを作成するにはどうすればよいですか?

WBOY
WBOY転載
2023-08-24 18:09:021099ブラウズ

ストアド プロシージャとは何ですか? MySQL ストアド プロシージャを作成するにはどうすればよいですか?

ストアド プロシージャは、通常のコンピューティング言語のコンテキストでは、データベースに保存されるサブルーチンのようなサブルーチンとして定義できます。 MySQL のコンテキストでは、これはデータベース ディレクトリに保存される宣言的な SQL ステートメントです。 MySQL 5 ではストアド プロシージャが導入されたため、MySQL でストアド プロシージャを記述する前にバージョンを確認する必要があります。ストアド プロシージャを作成する構文は次のとおりです。

Syntax

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

Example

以下は、テーブルからすべてを取得する簡単なプロシージャを作成した例です。 「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 サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。