Tag Archives: データベース

[ Oracle ] SELECT FOR UPDATE 悲観的ロックによる損失は数千万円

Oracle は多くの大企業で採用されているデータベースです。保守料も高額ですので大企業くらいしか導入できないのことが実際のところではないでしょうか。保守料のかからない無償版という選択肢もありますが、以下のような制約もあるので使い辛いのではないでしょうか。

Continue reading »

[ Oracle ] テーブル名やカラム名にSQL予約語を使用する

まず始めに言いますが、Oracle に限らず SQL の予約語をテーブル名やカラム名に使用することは止めておくべきでしょう。使用することによるメリットよりもデメリットが大きすぎると思います。おそらくデメリットを理解した上で使用する人は M なんだと思います。

Continue reading »

[ Oracle ] CREATE SEQUENCE で自動インクリメント風の動作

Oracle には MySQL や Postgresql のようにレコードを挿入すると自動的に値をインクリメントして挿入する機能はありません。ここでは、CREATE SEQUENCE 文でシーケンスを作成し、自動インクリメント風の動作をさせてみようと思います。レッツ挿入!

Continue reading »

[ MySQL ] n分前, n時間前, n日後の日付を取得する ( INTERVAL )

データベースに限った話ではありませんが、10分前の時刻や、1か月後の日付などを求める機会は多くあります。MySQL では、四則演算のプラス・マイナス記号を使って直感的な SQL を記述して過去や未来の日時を取得することができます。

Continue reading »

[ ODP.NET ] Oracle へ接続し SQL を発行する (OracleConnection / OracleCommand)

ODP.NET を使用して、SQL を発行するサンプルです。通常、よく使用するのは select / insert / update / delete 文 だと思いますが。大きく分けて結果が返される select 文と、結果が返されない insert / update / delete 文では SQL の発行方法が異なります。

Continue reading »

[ Oracle SQL ] if 文や switch 文 ( CASE ~ WHEN ) を使って条件分岐を行う

一般的なプログラムで使われる if 文を SQL で記述するには CASE ~ WHEN を使用します。ここで掲載しているサンプルは Oracle で動作確認を行っていますが、MySQL や Postgres など他のデータベースでも動作するかもしません。

「安心してください。確認していません。」

Continue reading »