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

WBOY
リリース: 2023-08-24 18:09:02
転載
1038 人が閲覧しました

ストアド プロシージャとは何ですか? 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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!