【初学者必見!】SQLの基本、実務使用例を徹底解説!PL/SQL編

【初学者必見!】SQLの基本、実務使用例を徹底解説!PL/SQL編 SQL

※この記事にはプロモーションが含まれています。

ふりかえり

筆者
筆者

本記事は、SQLの基本、実務使用例編になります。

SQLの基礎に関しましては、

【初学者必見!】SQLの超基礎編の記事をご覧くださいませ。

A子
A子

本編に入ります!

「PL/SQL」とは?

PL/SQL(ピーエル・エスキューエル)とは、Oracle独自のプログラミング言語で、通常のSQLに「繰り返し処理」「条件分岐」「変数」などの機能を追加したものです。

SQLが「1つずつ命令を実行する」のに対し、
PL/SQLは「複数の命令をまとめて自動で処理できる」という点が大きな違いです。

PL/SQLプロシージャとは?

PL/SQLで書かれた**ひとまとまりの処理(命令のかたまり)**を「プロシージャ(procedure)」と呼びます。

  • 「何かを登録する処理」
  • 「複数のテーブルを更新する処理」
  • 「ループやif文を含む複雑な処理」

などを、名前を付けて保存して、呼び出して使えるようにしたものです。

PL/SQLプロシージャの基本構造

create or replace procedure プロシージャ名 is
begin
    -- 実行したい処理
end;
/

実務レベルの使用例を見ていこう!

筆者
筆者

実際に、SQLを使用してデータを確認していきましょう。

SQLに関しては以下を使用して解説していきます。

create table文、select文、insert文、update文、delete文、

drop table文、につきましては、過去にアップロードした

【初学者必見!】SQLの超基礎編の記事をご覧くださいませ。

A子
A子

目次の、「ふりかえり」のところにそれぞれの記事のリンクが

貼ってあるよ!

または、サイドバーのカテゴリーにSQLがあるから、そちらからでも

参照できます!

Oracle Live SQLで実行していきます!

今回、実行するSQL

create table 申請情報 (
STAFF_NO varchar2(10) not null, -- 職員番号(文字型)
APPLI_DATE date, -- 申請年月日(日時)
constraint PK_申請情報 primary key (STAFF_NO)
);



実例:1~10のデータを一括登録するプロシージャ

create or replace procedure Insert申請情報 is
begin
    for i in 1..10 loop
        insert into 申請情報 (STAFF_NO, APPLI_DATE)
        values (to_char(i), sysdate);
    end loop;
end;
/

解説:

部分意味
create or replace procedureプロシージャを作成(または上書き)
Insert申請情報プロシージャの名前
begin ~ end;処理の本体
for i in 1..10 loop1〜10をループ
to_char(i)数値を文字列に変換(VARCHAR2列に合わせる)
sysdateシステム日付(現在の日時)
/最後に必須。SQL Developerなどでプロシージャを確定するため

▶ 呼び出し方(実行)

作ったプロシージャは、次のようにして実行します:

begin
    Insert申請情報;
end;
/

よくある使い方

  • データの一括登録や一括削除
  • 集計・更新処理を1回でまとめて実行
  • バッチ処理としてスケジュール実行も可能

挿入されたデータの確認SQL

select *
from 申請情報
where to_number(STAFF_NO) between 1 and 10
order by to_number(STAFF_NO);

PL/SQLの特徴説明
Oracle専用の言語SQLにプログラム的な処理が加えられる
プロシージャ命令のかたまりに名前を付けて保存し、あとで呼び出せる
begin ~ end処理のかたまりを囲む基本構文
loop, if, exceptionループ・条件分岐・エラー処理などができる

まとめ

筆者
筆者

PL/SQLプロシージャについて解説しました。

次回もお楽しみに!

この記事を書いた人
たくたく

文系出身・3年目のWeb系エンジニアです。
C#とSQLを得意としています。
同棲生活は2年目に入り、日々仲良く楽しく暮らしています。
プライベートではバイクや車で旅行に行くことが趣味です。
サンリオ好きで、中でもシナモン推しです。
お酒好きとして毎週の晩酌をリラックスタイムにしています。

たくたくをフォローする
SQLエンジニア
シェアする

コメント

タイトルとURLをコピーしました