子育てエンジニアブログ

子育てに励むシステムエンジニア(SE)のブログ

Oracle

PL/SQLの基本まとめ

最近業務ではOracle DBを使用することがあります。 Oracleには、PL/SQLというものがあると知ったのでそれについて自分なりにまとめてみました。 今回の内容は私が勉強したPL/SQLについての基本のまとめです。 PL/SQLとは PL/SQL(Procedure Language/Structur…

【Oracle】【SQL】ROW_NUMBER関数で行番号取得する例(partition byを使用)

OracleのROW_NUMBER関数で行番号取得する例(partition byを使用)についてです。 partition byを使うシーンとしては、何かのデータ毎に順位付けをしたい場合に使います。例に使うテーブルとデータは以下を使用します。 CREATE TABLE Table1 ("id" int, "dvalu…

【Oracle】【SQL】ROW_NUMBER関数で行番号取得する例

OracleのROW_NUMBER関数で行番号取得する例についてです。例に使うテーブルとデータは以下を使用します。 CREATE TABLE Table1 ("id" int, "dvalue" int, "ddata" varchar2(1)) ; INSERT ALL INTO Table1 ("id", "dvalue", "ddata") VALUES (1, 200, 'A') IN…

【Oracle】デバッグしないで実行したSQLの履歴を確認する方法

Oracleで実行したSQLの履歴を確認する方法についてです。大規模なアプリケーションの裏側で動的にSQLを作成するようなことは多々あると思います。 そんなときわざわざデバッグしてどんなSQLが実行されているのか見るのはとても手間だと思います。 そんなとき…

複数行を1行にまとめるSQL

複数行を1行にまとめるSQLについてです。 対象DBはOracleです。複数行を1行にまとめるにはLISTAGG関数というものを使用します。参考までにテスト的なテーブルとデータ。 create table testd ( id char(3) , keydata char(10), ddata char(10) ); INSERT INTO…

SQLで縦横変換の例

今日はSQLで縦横変換についての内容です。 対象のDBはOracleです。テーブルで列の値によって取得結果を新しい列として作り出したい時があります。 そういう時に使えるSQLの例になっています。もともと縦に持っていたデータを横(新しい列)にするので縦横変換…