12ストアドプロシージャ
ストアドプロシージャは、データベースに保存された一連のSQL文をまとめて実行できる機能です。ストアドプロシージャを使用することで、複雑なデータ操作を簡素化し、再利用可能な形で保存することができます。
ストアドプロシージャの作成・実行
①学生を登録するストアドプロシージャを作成します。
delimiter //
create procedure AddStudent (
in student_name VARCHAR(30),
in student_age INT,
in student_class INT
)
begin
insert into students (name, age, class)
values (student_name, student_age, student_class);
end //
delimiter ;②作成できているかを確認します。
show create procedure AddStudent \G;※\G:ターミナル上での出力を見やすくするためのオプション。

先ほど登録した内容がDBに反映されていることが確認できました。
③ストアドプロシージャを使用して学生を登録
call AddStudent('木田七郎', 10, 4);④学生が登録されているか確認
select * from students;
先ほど、ストアドプロシージャを使用して登録した「木田七郎」さんが、登録されています。
ストアドプロシージャを利用して学生を登録することができました。
ストアドプロシージャの利点
- 再利用性:複雑なデータ操作をカプセル化し、再利用可能な形で保存することができます。テストデータを作成する時などに使用されます。
- サーバの負荷軽減:複数のSQLを実行する場合、通常アプリケーションからDBサーバへ複数回リクエストを行う必要があり、サーバに負荷がかかる可能性があります。ストアドプロシージャを使用すれば
ストアドプロシージャの注意点
- 複雑性:基本的に手続き型で、プログラミング言語やフレームワークにあるような便利なメソッドもないのでロジックがロジックが複雑になる可能性があります。
- メンテナンス性:ビジネスロジックなどを実現するためにストアドプロシージャを作成した際、そのビジネスロジックに変更があると、プログラム側だけではなくDB側も修正する必要があり、手続きが煩雑になる可能性があります。
コメントを残す