2015.12.10

ウィンドウ関数が使えるバージョン

OLAPウィンドウ関数が使えるといろいろ便利。
SELECT
ROW_NUMBER() OVAER (ORDER BY hogehoge ), fuga
FROM honyarara;

こんな感じで行数をセットできるしね。
ただ、データウェアハウスを想定した世界なので、ちょっと古いバージョンでは利用できない。

PostgreSQL: V8.4~
Informx : V11.7~
SQL Sever: V2008~
Oracle: v8.1.6~

Informix11.5でrow_number()を使ってみたらシンタックスエラーとして怒られてしまたたですよ orz
バージョンごとの機能差異は時々注意ですな。

| | コメント (0) | トラックバック (0)

2015.11.27

Informixでの正規表現

正規表現を使わないといけないケースで以前PostgreSQLについては書いたので、Informixでのメモ。

SELECT hoge from hogehoge WHERE hoge MATCHES '[0-9A-Za-z]*,*';
使用するのはMATCHES節。
こいつの後ろに正規表現っぽい記述をすることで対応できる。
またNOT MATCHESで除外条件とすることもできる。 メモメモ。

| | コメント (0) | トラックバック (0)

2015.03.12

Informixでロックしているデータを読み取る

InformixではPostgreSQLとは異なり、分離レベルとしてはDirty Readなどもある。
しかしIDS11以降であれば、さらに良いオプションがあるのでメモり。

続きを読む "Informixでロックしているデータを読み取る"

| | コメント (0) | トラックバック (0)

2014.05.21

今日を含む過去30日という検索条件

日付などを検索条件とする場合に、「直近1ヶ月の受注案件」、「直近5日間で更新のあったレコード」のような検索条件が必要となることはままある。
そんなときどうすんの、というPostgreSQLでの実例。

続きを読む "今日を含む過去30日という検索条件"

| | コメント (0) | トラックバック (0)

2014.05.20

[メモ]大量UNLOAD時の注意点

UNLOAD文はInformixからデータを出力する際には一番簡単で手軽な手段である。
ただ、あまりにも大量の件数をUNLOADする際にはちょっと注意したほうがいい。

続きを読む "[メモ]大量UNLOAD時の注意点"

| | コメント (0) | トラックバック (0)

2014.04.07

Informixでの日付データ文字列変換

datetime型のデータを好きな書式に整形して出力するには一般的に"to_char関数"を使用する。

ただ、ときどき細かいオプションを忘れてしまうのでメモり。

続きを読む "Informixでの日付データ文字列変換"

| | コメント (0) | トラックバック (0)

2014.04.04

インデックスの再構築タイミング(Informix)

インデックスもデータ集合である以上、RDBMSにおいてテーブルそのものと同様「荒れてくる」ものである。
これは不要となったページの残存や、データの入り繰りによるインデックスファイルの断片化といった物理状態として発生する。

PostgreSQLにおいてはそれはインデックス領域の増大、という形で目に見える形となり、Informixであればそれはインデックスレベルの増加という形で現れてくる。

続きを読む "インデックスの再構築タイミング(Informix)"

| | コメント (0) | トラックバック (0)

2014.03.17

衝撃! InformixでOFFSETまでできるようになってたw

古い環境だけ触ってると人間ダメですな。
久しぶりにInofrmixのお仕事。
昔、Informixで件数制限できることで驚愕してから8年以上、、、

なんと今ではPostgreSQLで言うところのOFFSET処理までできるようになっていた。
そういえば何年か前にそんなことを聞いたことがあったけど、実際に使う場面になるまで忘れてたよ(^^;

続きを読む "衝撃! InformixでOFFSETまでできるようになってたw"

| | コメント (0) | トラックバック (0)

2014.03.15

【メモ】ロックしないでインデックス作成(Informix)

昨日の記事とほぼ同様の内容について、今度はInformixについてw

続きを読む "【メモ】ロックしないでインデックス作成(Informix)"

| | コメント (0) | トラックバック (0)

2009.03.16

メモ:informixで一度にロックできるテーブル数

同僚がはまっていたケース。
一度に関連するさまざまなテーブルのデータを削除するために、関連テーブルをテーブルロックをかけようとしたところエラーが出る。

結論としては一度のトランザクション処理で同時にLOCK TABLEできるテーブル数は32が上限値となっている。
これはonconfigのロック数の設定値とかは関係なく、仕様である。

| | コメント (0) | トラックバック (0)