【Oracle】translate関数と個人的な活用方法(不正データ検知)
OracleのTRANSLATE関数についてメモ
OracleのTRANSLATE関数についてメモ
SQL Loaderでdirect=trueをオプション指定すると、KEY重複してるデータが登録できてしまう。
PRIMARY KEY INDEXを張ってる場合、この結果、そのPK INDEXが破損するので、
そのPK INDEXを明示的に指定しているhint文があると、SQLエラーになる。
ひどい話である。
SQL LoaderもPKもhint文も結局はOracleの技術なはずなのに、
同社内の技術同士で首を絞めあう矛盾を作り上げてしまっている。
なんでそんな作りにしたんだOracleは…理解できない。
………というのの愚痴とメモ。
異なるKEYのテーブル同士を結合しながら更新する場合のメモとか注意点
SELECTやUPDATEの一部に部分的に副問い合わせ(インラインビュー)を組み込む方法について。
OracleでPL/SQL使う時の基本的なメモ
何度も同じような処理を実行するような場合は、
それらの処理を共通関数化してまとめておいたほうがいい。
「関数化」の記述は以下の赤太字部分の通り。
#!/bin/shtest_function “TEST1” ←①
test_function() {
echo “Argument is $1”
}
test_function “TEST2” ←②exit 0
havingは、group byで集計する時に一緒に使える条件句である。
個人的には、group by部分を副問い合わせにしちまって外側でwhere句で絞り込む方が多いのだが、
集計すると同時に絞り込めるという点では、SQLがシンプルになってよいのだろう。
使い方の備忘録として残す。
テーブルの統計情報の取得方法とその確認方法の基本めも
Solarisには「pargs」というコマンドがある。
PIDを引数に渡すとそのプロセスの実行オプションを一覧形式でずらーっと並べて表示してくれるコマンドである。
長ったらしいコマンド(特にJava)の場合、psコマンドでもなんとなく実行時オプションは調べられるが、
psコマンドの限界でオプションの最後まで確認できないことが往々にしてあり、そういうときに使う。
使い方は以下の通り(引数に調べたいプロセスのPIDを渡す)
pargs -a [PID]