SQL

SQL

データ型と長さの適切な選定

~NUMBER・VARCHAR2・DATEの使い分けと設計ミスの回避術~■ はじめにOracleでテーブル設計を行う際に「データ型」と「長さ」をどう定義するかは、パフォーマンス、保守性、拡張性に直結する重要事項です。こんな設計、していません...
26ai

Oracle AI Database 26ai: BOOLEAN型の使い方とSQL新常識

2025年10月に発表された最新の長期サポート(LTS)リリース Oracle AI Database 26ai。 本バージョンでは、SQL で Oracle BOOLEAN データ型がネイティブサポートされています(旧 23ai の機能を...
26ai

Oracle 26ai SQL Firewall 導入・検証ガイド

Oracle AI Database 26ai / SQL Firewall / インジェクション対策 / セキュリティ本記事では、Oracle Database 26ai (23ai) の新機能「SQL Firewall」の導入手順を解説...
26ai

【Oracle 26ai】次世代標準「CO (Customer Orders)」サンプル・スキーマ導入完全ガイド

こんにちは!オラクルエンジニアの皆さん、26aiライフ楽しんでますか?Oracle Database 26ai (23ai) 時代に突入し、SQLの書き方やアプリケーションの設計思想も大きく変わってきました。「とりあえず SELECT * ...
26ai

Oracle FreeSQLの使い方:環境構築不要でSQLを実行する方法【19c/23ai/26ai対応】

Oracle Databaseの学習や検証を始めたいけれど、「環境構築の手順が複雑で挫折した」「PCのスペックが足りない」「Mac (Apple Silicon) でうまく動かない」という悩みはありませんか? 本記事では、ブラウザだけでOr...
DBLINK

Oracle DRIVING_SITEでDBLINKを高速化!遅いクエリ改善

データベースリンク(DBLINK)を使用したSQLの動作が遅いと感じていませんか?Oracle DRIVING_SITE ヒントは、分散データベース環境において「どのサイト(ローカルまたはリモート)でSQLを実行するか」を指定する強力な手段...
SQL

Oracle ROWNUM の使い方と注意点【1行目・連番・WHERE句】

Oracleデータベースで「上位N件だけデータを取得したい」「結果セットに連番を振りたい」といったニーズはありませんか? Oracle の ROWNUM 擬似列は、まさにそのために使われる機能です。この記事では、ROWNUM の基本的な使い...
Oracle Master Bronze

Oracle SQL DELETE入門:安全な削除手順と実行例【19c】

要約oracle で行を削除する基本は DELETE。誤削除を避けるには、まず同じ条件で SELECT COUNT(*) を実行→SAVEPOINT→DELETE→確認→COMMIT/ROLLBACK の順に進めます。本稿は delete ...
Oracle Master Bronze

Oracle SQL UPDATE基礎から中級:安全な書き方

Oracle SQLのUPDATEは“WHEREの防御”が命。本記事は、oracle 環境で update を安全に使うための超基礎から、初心者がつまずきやすい罠の回避、そして中級者向けのワンポイント(索引の効かせ方・確認手順)までを、コピ...
Oracle Master Bronze

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

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

Oracle SQL INSERT 徹底解説

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

Oracle SQLのCOALESCE完全ガイド:NVLとの違い・使いどころ・落とし穴まで(図解と実行例つき)

結論COALESCE(expr1, expr2, …) は「左から順にNULLでない最初の値」を返す、SQL標準の関数。NVL の上位互換的に使える場面が多く、複数候補をスマートに書ける。ただし 型の暗黙変換・索引(インデックス)利用・空文...
SQL

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

Oracleにおけるパフォーマンス改善といえば「索引(インデックス)」の活用が定番です。しかし現場では以下のような誤解も多く存在します。「WHERE句に出てくる列にはとりあえず全部インデックスを貼れば良い」「遅いならインデックスを増やせば解...
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)の原因と、正...
SQL

TO_DATEで時刻が表示されない?時刻フォーマットの指定と表示方法まとめ

Oracleで日付・時刻を扱う際に使われるTO_DATEやTO_TIMESTAMP。これらで時刻を指定したにも関わらず、実行結果に「時刻が表示されない」という経験はありませんか?この記事では、時刻フォーマットの正しい指定方法と「時刻が表示さ...
RMAN/バックアップ・リカバリ

UNTIL句で指定できる「時間」「SCN」「シーケンス」の使い方と確認方法

OracleではRMANやフラッシュバック、SQLの一部機能で時点指定による操作を行うことができます。その際に使われるのが UNTIL 句です。この記事では、UNTIL句で指定可能な以下の3つの形式について詳しく解説します。UNTIL TI...
Oracle Master Silver

Oracleの日付と時刻を取得する関数

Oracle Databaseには、日付や時刻を取得するための便利な関数がいくつか用意されています。本記事では、CURRENT_DATE、CURRENT_TIMESTAMP、LOCALTIMESTAMP、SYSDATE、およびSYSTIME...