🦔

Oralce SQL 勉強メモ

2024/01/26に公開

日付のデータ型

  • DATE:世紀~秒
  • TIMESTAMP:世紀~秒(秒は少数点以下も)
  • TIMESTAMP WITH TIME ZONE:TIMESTAMP + タイムゾーン
  • TIMESTAMP WITH LOCAL TIME ZONE:DBのタイムゾーンに変換されたTIMESTAMPを格納

TRIM

  • TRIM([BOTH|LEADING|TRAILING] [削除文字] FROM 列名)
  • 先頭と末尾から削除文字を削除する関数
  • BOTHは両方・LEADINGは先頭・TRAILINGは末尾を削除
  • 指定しない場合はBOTH
  • 削除文字は任意の1文字で、省略した場合は半角スペースが削除文字になる
  • TRIM(' HELLO ')のようにどこの文字を削除するのと、削除文字を明示的に記載しない場合は、FROM省略OK

FOR UPDATE

  • SELECT文にFOR UPDATE句を記載すると、検索する行を排他ロックする。
  • オプションは以下のものがある
    • WAIT n
      • ロックされていた場合は、n秒待機
      • 待機してもロックされたままなら、エラー
      • 解除されたら、結果が得られる
    • NOWAIT
      • ロックされていたら、待たずにエラーを返す

ビューから実表のデータ操作

  • ビューで未使用の列にNOT NULL制約があるときは、行の更新と削除はできる。
    • NOT NULL列にDEFAULTがある場合は、追加もできる。
  • 式を使った列(例:salary * 12 as 年収)がある場合は、その列を含まないとき、追加・削除・更新可能
  • 以下の要素があるときは追加・削除・更新不可能
    • ROWNUM疑似列
    • DISTINCT
    • GROUP BY句
    • グループ関数

外部表

  • DB外のファイルのデータにアクセスすること
  • 問い合わせ・結合・ソートが可能

Discussion