昨日読んでいた「DB2 9.7 エバリュエーション・ガイドブック」の中で、
CLPPlusを触っている画面ショットがあったので、kも触ってみようとマシン起動。
通常のDB2へのログインは、
こんな感じですが、「CLPPlus」は、
こんな感じです。
で、DUAL表を使ったSELECTをして試してみると、
SQL> SELECT SYSDATE FROM DUAL; |
行 1 の近くでエラー: |
SQL0204N "DB2ADMIN.DUAL" は未定義の名前です。 |
SQL> |
という感じで怒られました。
あれれ?本ではうまくいってるのになぁ。。。。とちょっと調査。
するとコントロールセンターで手掛かりを発見。
にゃるほど。
SYSIBMスキーマに居たのね。
気を取り直してもう1回トライ!!
SQL> SELECT SYSDATE FROM SYSIBM.DUAL; |
1 |
--------------------- |
2009-07-18 16:35:26 |
SQL> |
出ましたね、期待通りです。
次はPL/SQLを頑張ってみますね。
※ちなみに、、、旧来のDB2でDUAL表に相当するのはSYSIBM.SYSDUMMY1ビューですが、
※ORACLE対応で"SYSDATE"がサポートされたので、こんなこともできるみたいです。
※ちょっと混乱しますね。
C:\>db2 "SELECT SYSDATE FROM SYSIBM.SYSDUMMY1" |
1 |
--------------------- |
2009-07-18-16.41.18 |
1 レコードが選択されました。 |
※詳しい話は以下にあります。
:DB2の基礎: 日付と時刻で遊ぶ
こんにちは。
Trackbackした記事でも書きましたが、レジストリ変数のDDB2_COMPATIBILITY_VECTORをセットされていないのではないでしょうか?セットしていれば、多分"DUAL"だけでOKだと思います。
なるほどー。
まだそこまで確認できていませんでした。
次に試してみたいと思います。
余談ですが、
Oracleには「COMPATIBLE」っていう初期化パラメータがあるのですが、
それと何となく名前が似ているので(意味も何となく同じ)
覚えやすいですね。