テーブル

Oracle Master Bronze

別の表からデータを移行INSERT … SELECT解説

Oracle で別の表を参照してデータを一度に移す・加工して取り込むなら insert select を使用すると便利です。本記事では select insert の正しい書き方、性能チューニング、ロックとログの注意点を、Oracle Da...
Oracle Master Bronze

Oracle SQL INSERT 徹底解説

データベースに新しい行(レコード)を入れる基本操作が oracle insert です。本記事では insert oracle の正しい使い方を、やさしい言葉と“そのまま動く実行例”で解説します。ユーザー作成 → 表(テーブル)作成 → I...
オプティマイザ統計情報/実行計画

索引(インデックス)のメンテナンス方法まとめ

Oracleデータベースで性能を維持するうえで、索引の定期的なメンテナンスは非常に重要です。索引は検索性能を高める一方、以下のような課題を持っています。✅ 更新による断片化✅ 統計情報の陳腐化✅ 不要な索引の放置この記事では、Oracleに...
SQL

【Oracle設計実務】索引(インデックス)を作るべき理由と、作りすぎを避けるための設計ポイント

Oracleにおけるパフォーマンス改善といえば「索引(インデックス)」の活用が定番です。しかし現場では以下のような誤解も多く存在します。「WHERE句に出てくる列にはとりあえず全部インデックスを貼れば良い」「遅いならインデックスを増やせば解...
オラクルデータベースの基本

【Oracle実務設計】なぜテーブル名・列名・データにマルチバイト文字を使うべきではないのか

Oracleデータベースを使って業務システムを設計する際、こんな疑問を持ったことはありませんか?「テーブル名や列名に日本語を使えば、内容がわかりやすくなるのでは?」「商品名や売上履歴など、日本語のまま使えた方が親切では?」実際、Oracle...
テーブル

Oracle トリガーの有効化・無効化と確認方法

Oracleで業務データを守るために活用されるトリガー(Trigger)。しかし、開発やメンテナンス中に一時的に無効化したい場面もあります。本記事では、トリガーの無効化・再有効化の方法に加え、有効/無効の状態確認方法(DBA_TRIGGER...
SQL

OracleでDROP操作を安全に制御!

重要なテーブルを誤ってDROPしてしまう…。そんな悲劇を防ぎつつ、操作ログも残したいというニーズに応えるのが「DDLトリガー+自律トランザクション」の組み合わせです。この記事では、ログ記録を別スキーマに逃がす構成でORA-600などのリスク...
SQL

OracleでDELETE操作をブロックするトリガー活用術

重要な業務テーブルに対してうっかり DELETE してしまう…。その一瞬のミスが、取り返しのつかない損失を生むこともあります。本記事では、Oracleのトリガーを用いてDELETE操作を確実にブロックする方法と、UPDATE・INSERTな...
SQL

Oracleトリガー活用術②

前回の記事では、Oracleユーザー USER_A がスキーマ内で利用できるDMLトリガーとBEFORE INSERTトリガーを紹介しました。今回はその続編として、USER_A が作成可能なスキーマレベルの以下の2つのトリガーを紹介します:...
SQL

Oracleトリガーが「コンパイルエラー」で作成された理由とは?

Oracleのトリガーは非常に強力な仕組みですが、構文ミスがあっても「作成されてしまう」ため、油断すると動かないトリガーが放置されることになりがちです。この記事では、実際に遭遇したトリガーのコンパイルエラー(ORA-00920)の原因と、正...