例 3 (SQL ステートメントへの追加)

ここで、これまでの演習での SQL ステートメント (「Advanced (拡張)」: 完了したステートメント (例 2) を参照) に条件を追加して、表 PARTS の中でパーツ・ナンバーが 12456 より大きい行だけを表示するものとします。

  1. 「Exit」機能キー (F3) を押して、SUBSELECT 文節の構文に戻ります。
      Process   Options   Utilities   Help
     ──────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)            Advanced SELECT Prototyping
    
     Prototyping: subselect clause                     Status: statement complete
    
     ─ select ─ from ─┬─────────┬─┬───────────┬─┬──────────┬─
                      └─ where ─┘ └─ groupby ─┘ └─ having ─┘
    
    
    
    
    
    
    
    
    
     SELECT DISTINCT * FROM PARTS
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
  2. カーソルを「where」フラグメントに移動します。
  3. [Enter] を押します。where clause (WHERE 文節) の構文が表示されます。
      Process   Options   Utilities   Help
     ──────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)            Advanced SELECT Prototyping
    
    Prototyping: where clause                         Status: clause incomplete
    
     ─ WHERE ─ srchcon ─
    
    
    
    
    
    
    
    
    
    
     SELECT DISTINCT * FROM PARTS WHERE
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel

    FM/Db2 は必須キーワードの WHERE を SQL ステートメントに追加したことに注意してください。

  4. カーソルを「srchcon」フラグメントに移動します。
  5. [Enter] を押します。search condition clause (SEARCH CONDITION 文節) の構文が表示されます。
      Process   Options   Utilities   Help
     ──────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)            Advanced SELECT Prototyping
    
     Prototyping: search condition clause              Status: clause incomplete
    
                                  ◄───────────────────────────────────────────┐
     ─┬───────┬─┬─ predicate ───┬───┬───────────────────────────────────────┬─┴─
      └─ NOT ─┘ └─(─ srchcon ─)─┘   └─┬─ AND ─┬─┬───────┬─┬─ predicate ───┬─┘
                                      └─ OR ──┘ └─ NOT ─┘ └─(─ srchcon ─)─┘
    
    
    
    
    
    
    
     SELECT DISTINCT * FROM PARTS WHERE
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
  6. カーソルを最初の「predicate」フラグメントに移動します。
  7. [Enter] を押します。predicate clause (PREDICATE 文節) の構文が表示されます。
      Process   Options   Utilities   Help
     ──────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)            Advanced SELECT Prototyping
    
     Prototyping: predicate clause                     Status: clause incomplete
    
     ─┬─ basicpred ──────┬─
      ├─ quantifiedpred ─┤
      ├─ betweenpred ────┤
      ├─ distinctpred ───┤
      ├─ existspred ─────┤
      ├─ inpred ─────────┤
      ├─ likepred ───────┤
      └─ nullpred ───────┘
    
    
    
    
     SELECT DISTINCT * FROM PARTS WHERE
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
  8. カーソルを「basicpred」フラグメントに移動します。
  9. [Enter] を押します。basic predicate clause (BASIC PREDICATE 文節) の構文が表示されます。
      Process   Options   Utilities   Help
     ──────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)            Advanced SELECT Prototyping
    
     Prototyping: basic predicate clause               Status: clause incomplete
    
     ─┬─ expression ─┬─ = ──┬─┬─ expression ─────┬─────────┬─
      │              ├─ <> ─┤ └─(─ fullselect ─)─┘         │
      │              ├─ < ──┤                              │
      │              ├─ > ──┤                              │
      │              ├─ <= ─┤                              │
      │              └─ >= ─┘                              │
      │                                                    │
      │   ◄─ , ──────────┐              ◄─ , ─────────┐    │
      └─(─── expression ─┴─)─┬─ = ──┬─(─── expression ─┴─)─┘
                             └─ <> ─┘
    
    
    
     SELECT DISTINCT * FROM PARTS WHERE
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
  10. カーソルを「expression」フラグメント (演算子リストの左方) に移動します。
  11. [Enter] を押します。expression clause (EXPRESSION 文節) の構文が表示されます。
      Process   Options   Utilities   Help
     ──────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)            Advanced SELECT Prototyping
    
     Prototyping: expression clause                    Status: clause incomplete
    
      ◄─ oper ─────────────────────────┐
     ───┬─────┬─┬─ function ──────────┬┴─
        ├─ + ─┤ ├─(─ expression )─────┤
        └─ - ─┘ ├─ constant ──────────┤
                ├─ column ────────────┤
                ├─ hostvar ───────────┤
                ├─ register ──────────┤
                ├─(─ scalarfullsel ─)─┤
                ├─ duration ──────────┤
                ├─ caseexpr ──────────┤
                ├─ castspec ──────────┤
                └─ sequenceref ───────┘
    
     SELECT DISTINCT * FROM PARTS WHERE
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
  12. カーソルを「column」フラグメントに移動します。
  13. [Enter] を押します。列名を入力できるポップアップ・パネルが表示されます。
  14. ポップアップ・パネルで「PARTNO」を入力します。
      Process   Options   Utilities   Help
     ─ ┌───────────────────────── Freeform Entry ─────────────────────────┐ ───────
     F │                                                                  │
       │ Enter a column name to be inserted in the SQL:                   │
     P │ PARTNO__________________________________________________________ │ lete
       │ ________________________________________________________________ │
       │ ________________________________________________________________ │
     ─ │ ________________________________________________________________ │
       │ ________________________________________________________________ │
       │ Command ===> ______________________________________ Scroll PAGE  │
       │  F1=Help      F2=Split     F3=Exit      F7=Backward  F8=Forward  │
       │  F9=Swap     F12=Cancel                                          │
       └──────────────────────────────────────────────────────────────────┘
                ├─(─ scalarfullsel ─)─┤
                ├─ duration ──────────┤
                ├─ caseexpr ──────────┤
                ├─ castspec ──────────┤
                └─ sequenceref ───────┘
    
     SELECT DISTINCT * FROM PARTS WHERE PARTNO
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
  15. 「Exit (終了)」機能キー (F3) を押します。列名 PARTNO が SELECT ステートメントに追加されます。
  16. 「Exit (終了)」機能キー (F3) を押します。basic predicate clause (BASIC PREDICATE 文節) の構文が表示されます。
      Process   Options   Utilities   Help
     ──────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)            Advanced SELECT Prototyping
    
     Prototyping: basic predicate clause               Status: clause incomplete
    
     ─┬─ expression ─┬─ = ──┬─┬─ expression ─────┬─────────┬─
      │              ├─ <> ─┤ └─(─ fullselect ─)─┘         │
      │              ├─ < ──┤                              │
      │              ├─ > ──┤                              │
      │              ├─ <= ─┤                              │
      │              └─ >= ─┘                              │
      │                                                    │
      │   ◄─ , ───────────┐              ◄─ , ──────────┐  │
      └─(─── expression ──┴─)─┬─ = ──┬─(─── expression ─┴─)┘
                              └─ <> ─┘
    
    
    
     SELECT DISTINCT * FROM PARTS WHERE PARTNO
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
  17. カーソルを より大 (>) 記号に移動します。
  18. [Enter] を押します。より大 (>) 記号が、部分的に作成済みの SELECT ステートメントに表示されます。
  19. カーソルを「expression」フラグメント (演算子リストの右方) に移動します。
  20. [Enter] を押します。expression clause (EXPRESSION 文節) の構文が表示されます。
      Process   Options   Utilities   Help
     ──────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)            Advanced SELECT Prototyping
    
     Prototyping: expression clause                    Status: clause incomplete
    
      ◄─ oper ──────────────────────────┐
     ───┬─────┬─┬─ function ──────────┬─┴─
        ├─ + ─┤ ├─(─ expression )─────┤
        └─ - ─┘ ├─ constant ──────────┤
                ├─ column ────────────┤
                ├─ hostvar ───────────┤
                ├─ register ──────────┤
                ├─(─ scalarfullsel ─)─┤
                ├─ duration ──────────┤
                ├─ caseexpr ──────────┤
                ├─ castspec ──────────┤
                └─ sequenceref ───────┘
    
     SELECT DISTINCT * FROM PARTS WHERE PARTNO >
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
  21. カーソルを「constant」フラグメントに移動します。
  22. [Enter] を押します。定数を入力できるポップアップ・パネルが表示されます。
  23. ポップアップ・パネルで「12456」を入力します。
      Process   Options   Utilities   Help
     ─ ┌────────────────────── Freeform Entry ───────────────────────┐ ────────────
     F │                                                             │
       │ Enter a constant to be inserted in the SQL:                 │
     P │ 12456______________________________________________________ │ lete
       │ ___________________________________________________________ │
     ─ │ ___________________________________________________________ │
       │ ___________________________________________________________ │
       │ ___________________________________________________________ │
       │ Command ===> _________________________________ Scroll PAGE  │
       │  F1=Help        F2=Split       F3=Exit        F7=Backward   │
       │  F8=Forward     F9=Swap       F12=Cancel                    │
       └─────────────────────────────────────────────────────────────┘
    
    
    
    
     SELECT DISTINCT * FROM PARTS WHERE PARTNO >
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
  24. 「Exit (終了)」機能キー (F3) を押します。
    1. 「Advanced (拡張)」: 完了したステートメント (例 3)
      Process   Options   Utilities   Help
     ──────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)            Advanced SELECT Prototyping
    
     Prototyping: expression clause                    Status: clause incomplete
    
      ◄─ oper ───────────────────────────┐
     ───┬─────┬─┬─ function ───────────┬─┴─
        ├─ + ─┤ ├─(─ expression )──────┤
        └─ - ─┘ ├─ constant ───────────┤
                ├─ column ─────────────┤
                ├─ hostvar ────────────┤
                ├─ register ───────────┤
                ├─(─ scalarfullsel ─)──┤
                ├─ duration ───────────┤
                ├─ caseexpr ───────────┤
                ├─ castspec ───────────┤
                └─ sequenceref ────────┘
    
     SELECT DISTINCT * FROM PARTS WHERE PARTNO > 12456
    
    
    
    
     Command ===> _____________________________________________________ Scroll PAGE
      F1=Help      F2=Split     F3=Exit      F4=Deselect  F5=InsRpt    F6=Executed
      F7=Backward  F8=Forward   F9=Swap     F10=PrvRpt   F11=NxtRpt   F12=Cancel
    パネルには、完了した SELECT ステートメントが表示されています。
    SELECT DISTINCT * FROM PARTS WHERE PARTNO > 12456

関連するタスク