2008年02月24日

道化師匠

ふと気づくと、

サーカスの綱渡りの足場(出発する高い所)にいました。
隣を見ると、不機嫌そうな全身黄色のピエロがいました。

ピエロは、私に早く綱渡りしろと促します。
しかし、渡る先の方を見ると綱が結ばれているわけではなく、ただ引っ掛けてあるだけなのです。とても、渡ることができません。私が逡巡していると、

ピエロが「どうしたん?早く渡らんかい」と言います。

私は「綱の先、引っ掛けているだけですやん。一歩で落ちますよ。危険です。」と言いますと、

ピエロは「昨日は、直径15cmの火の輪くぐりをノリノリでやったやんか」と言います。

私がそんなことを・・・全然知らない。ていうか、どうやったんだ・・・?

ともあれ、この綱は絶対渡れないと思いましたので、

私は「それでも、これは無理です。」と言いますと、

ピエロは「はい。出ました。最近の若手は、やりもせずにすぐに『無理』や。」と理不尽なことを言い出しました。

私は「そういうことでは、ないですやん。これは確実に落ちますやん!」と言うと、

ピエロは「きた!逆切れや。切れやすい若者や。」などと言い出す始末です。

しかたなく、私は綱を渡り始めましたが案の定・・・。


良かったらクリックお願いします→banner_01.gif

posted by 台北猫々 at 07:40| Comment(0) | TrackBack(0) | 夢日記

Oracle10gにおけるMERGE文の拡張

MERGE文のUPDATE句とINSERT句でWHERE句の使用ができるようになったそうです。

例えば、商品マスタがあって↓
20080224MST_SHOHIN.jpg

これに対して、差分商品マスタ↓
20080224SABUN_SHOHIN.jpg

の内容をマージしたい場合で、ただし、当テーブルにはマージ処理からは除外したいレコードが含まれる(DEL列が'Y'のレコードはマージ対象外)ような場合、以下のようなSQL文を作成します。


MERGE INTO MST_SHOHIN ms
USING SABUN_SHOHIN ss ON (ms.id = ss.id)
WHEN MATCHED THEN
UPDATE SET name = ss.name, price = ss.price, upd_date = SYSDATE
WHERE ss.del = 'N'
WHEN NOT MATCHED THEN
INSERT VALUES(ss.id, ss.name, ss.price, NULL);


結果は↓になります。
20080224RESULT_SHOHIN.jpg

商品Cのレコードは、更新されていないことがわかります。

posted by 台北猫々 at 00:10| Comment(0) | TrackBack(0) | 技術メモ(Oracle)