Oracle

システムテーブル


全スキーマ名を取得
SELECT DISTINCT USERNAME FROM ALL_USERS ORDER BY USERNAME

全テーブル名を取得
SELECT TABLE_NAME FROM USER_TABLES ORDER BY TABLE_NAME

DBA権限を付与

grant dba to ユーザ名:

改行コードを挿入

insert into hoge (AB) values ('A'| |CHR(13)| |CHR(10)| |'B')

インポート/エクスポート

ヘルプの表示 imp -help/exp -help

※impの時、データが大きいとCOMMIT=yにしないと落ちます!
上書きインポートする場合はテーブルを削除してから!!

結合

外部結合演算子 (+)

inner join
select * from T1, T2 and T1.key = T2.key
left join
select * from T1, T2 and T1.key(+) = T2.key
right join
select * from T1, T2 and T1,key = T2.key(+)

Char(3)

全角:1文字
半角:3文字

ストアドプロシージャとストアドファンクションの違い

select func() from dual; --> OK
※ファンクションは呼び出せる(戻り値あり)
select proc() from dual; --> NG
※プロシージャは呼び出せない(戻り値なし)

予約語

checkは使えないよ。。

変換系

null変換

nvl(カラム名, 値)

日付取得

好きな形式で取得できる
to_char(CURRENT_TIMESTAMP, 'yyyy/mm/dd')

日付変換

to_date('2009/01/01 00:00:00', 'yyyy/mm/dd HH24:MI:SS')

数値変換

to_char(123, '0000') → ' 0123'(頭にスペースが入る)
to_char(123, 'FM0000') → '0123'

書式
※和暦変換する場合は、変換関数の第3引数に下記指定をする。
   'nls_calendar = Japanese Imperial'
YYYY 西暦年4桁
YY 西暦年下2桁
RRRR 'YYYY'と同じ
RR 'YY'と同じ
MM 月(01~12)
DD 日(1~31)
DDD 年の始めからの日数(1~366)
HH 時間(1~12)
HH12 時間(1~12)
HH24 時間(1~24)
MI 分(0~59)
SS 秒(0~59)
SSSSS 秒(午前0時からの経過秒数)
FF[1-9] ミリ秒 桁数を指定する。3桁の場合はFF3、桁数が無い場合は、システムのデフォルト桁数となる。
D 日曜日を1とした数値化した曜日 例)月曜日:2 火曜日:3
DY 曜日を漢字に変換 例)日、月、火
E 元号の省略形 例)平成:H、昭和:S、大正:T
EE 元号 例)平成、昭和、大正
EYY 和暦年の省略形 例)平成5:H5、昭和57:S57
EEYY 和暦年 例)平成5、昭和57

文字列型

VARCHAR2(バイト数 ) 可変長

システム時刻取得

CURRENT_TIMESTAMP(ミリ秒まで取得)
SYSDATE(秒まで取得)

文字列連結

 

ユーザの作成(既存ユーザからのコピー)

USER領域作成

create tablespace <名前>
datafile 'D:\oracle\oradata\orcl10\XXXX.DBF'
  size 10M
   autoextend on
   next 1M
   maxsize unlimited

一時領域の作成

create temporary tablespace <名前>
tempfile 'D:\oracle\oradata\orcl10\XXXX.DBF'
  size 50M
   autoextend on
   next 5M
   maxsize unlimited

ユーザ作成

CREATE USER <ユーザ名>
IDENTIFIED BY <パスワード>
DEFAULT TABLESPACE <USER領域名>
TEMPORARY TABLESPACE <一時領域名>
PROFILE DEFAULT
/
GRANT DBA TO <ユーザ名>
/
GRANT UNLIMITED TABLESPACE TO <ユーザ名>
/

テーブルのインポート

imp <接続先> file=<dmpファイルパス> COMMIT=y FROMUSER=<エクスポートユーザ名> TOUSER=<インポート先ユーザ名>

シノニム

シノニムはインポート元の参照先のままなので新しい参照先に変更する

  • 最終更新:2012-10-31 10:59:29

このWIKIを編集するにはパスワード入力が必要です

認証パスワード