レッスン 1.2: 表の作成

SPUFI から SQL ステートメントを発行して、表や他のデータベース・オブジェクトを対話式に作成できます。 このレッスンでは、前のレッスンで照会したサンプル EMP 表と同じ形式で、同じデータが含まれる新しい表を作成します。 次のレッスンでは、元のサンプル・データに変更を加えることなく、作成した新しい表のデータを変更できます。

始める前に

Lesson 1.1: インタラクティブにデータを照会する。 レッスン 1.2 は、前のレッスンの学習内容を基盤としています。

プロシージャー

  1. DB2I を開き、サブシステム ID を設定し、 レッスン 1.1: 対話的にデータを照会する のステップ 1~5 の説明に従って、SPUFI で USER.SRCLIB.TUTORIAL (SQLTEXT ) データセットを開きます。
  2. データ・セットに前のレッスンのステートメントが含まれている場合、その前にハイフンを 2 つ追加してコメント化してください。
  3. SQL ステートメントを発行して、表を作成し、行をその表に追加します。
    1. 編集パネルで、CREATE TABLE ステートメントとINSERTステートメントを入力します。 これらのSQL文の構文とオプションの詳細については、「CREATE TABLE文」 および 「INSERT文」 を参照してください。
      例えば、以下のCREATE文は、お客様の認証IDの下にMY_EMPという名前のテーブルを作成します。このテーブルは、サンプルのDSN8C10.EMPテーブルと同じフォーマットで、同じデータを含んでいます。 以下の INSERT ステートメントは、MY_EMP 表に行を追加します。 サンプル・データベースのEMPテーブルのデータについては、 Employeeテーブル( DSN8C10.EMP )を参照してください。
         File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help            
       
       EDIT       USER.SRCLIB.TUTORIAL(SQLTEXT) - 01.25           Columns 00001 00072 
       Command ===>                                                  Scroll ===> PAGE 
       ****** ***************************** Top of Data ******************************
       000100                                                                         
       000101 --SELECT * FROM DSN8C10.EMP;                                             
       000102 --SELECT EMPNO, SALARY + COMM AS TOTAL_SAL;                              
       000103   --FROM DSN8C10.EMP                                                    
       000104   --ORDER BY TOTAL_SAL;                                                  
       000110    CREATE TABLE MY_EMP LIKE DSN8C10.EMP;                                
       000200    INSERT INTO MY_EMP                                                   
       000300       SELECT * FROM DSN8C10.EMP;                                        
       000400                                                                         
       000500                                                                         
       000600                                                                         
       ****** **************************** Bottom of Data ****************************
                                                                                      
        F1=Help      F2=Split     F3=Exit      F5=Rfind     F6=Rchange   F7=Up        
        F8=Down      F9=Swap     F10=Left     F11=Right    F12=Cancel                 
    2. ステートメントを発行するため PF3 を押し、その後に Enter を押します。
      表が作成され、行が挿入されます。以下の結果が表示されます。
         Menu  Utilities  Compilers  Help                                             
       
       BROWSE    TUTOR01.MYOUTPUT                           Line 00000000 Col 001 080 
       Command ===>                                                  Scroll ===> PAGE 
      ********************************* Top of Data **********************************
      ---------+---------+---------+---------+---------+---------+---------+---------+
                                                                              00010023
      --SELECT * FROM DSN8C10.EMP                                             00010125
      --SELECT EMPNO, SALARY + COMM AS TOTAL_SAL                              00010225
      --FROM DSN8C10.EMP                                                      00010326
      --ORDER BY TOTAL_SAL                                                    00010426
         CREATE TABLE MY_EMP LIKE DSN8C10.EMP;                                00011027
      ---------+---------+---------+---------+---------+---------+---------+---------+
      DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0                       
      ---------+---------+---------+---------+---------+---------+---------+---------+
         INSERT INTO MY_EMP                                                   00020027
            SELECT * FROM DSN8C10.EMP;                                        00030027
      ---------+---------+---------+---------+---------+---------+---------+---------+
      DSNE615I NUMBER OF ROWS AFFECTED IS 42                                          
      DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0                       
      ---------+---------+---------+---------+---------+---------+---------+---------+
        F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap     
       F10=Left   F11=Right  F12=Cancel                                               
      覚えていますか? レッスン 1.1 では、ステートメントに関する問題のトラブルシューティングに、発行されたメッセージやコードを使用できることを学びました。
  4. PF3 を押すと、 SPUFI に戻ります。
    SPUFIから連続したSQLステートメントを発行する際に従うパターンの例については、 前回のレッスンStep 9のヒントを参照してください。
  5. SELECT ステートメントを発行し、表が作成されたこと、および挿入したデータが含まれることを確認します。
    例えば、以下の照会により、作成した表のすべての行が戻ります。
       Menu  Utilities  Compilers  Help                                             
     
     BROWSE    TUTOR01.MYOUTPUT                           Line 00000000 Col 001 080 
     Command ===>                                                  Scroll ===> PAGE 
    ********************************* Top of Data **********************************
    ---------+---------+---------+---------+---------+---------+---------+---------+
                                                                            00010023
    --SELECT * FROM DSN8C10.EMP                                             00010125
    --SELECT EMPNO, SALARY + COMM AS TOTAL_SAL                              00010225
    --FROM DSN8C10.EMP                                                      00010326
    --ORDER BY TOTAL_SAL                                                    00010426
    -- CREATE TABLE MY_EMP LIKE DSN8C10.EMP;                                00011029
    -- INSERT INTO MY_EMP                                                   00020029
    --    SELECT * FROM DSN8C10.EMP;                                        00030029
                                                                            00040026
       SELECT * FROM MY_EMP;                                                00050028
    ---------+---------+---------+---------+---------+---------+---------+---------+
    EMPNO   FIRSTNME      MIDINIT  LASTNAME         WORKDEPT  PHONENO  HIREDATE    J
    ---------+---------+---------+---------+---------+---------+---------+---------+
    000010  CHRISTINE     I        HAAS             A00       3978     1965-01-01  P
    000020  MICHAEL       L        THOMPSON         B01       3476     1973-10-10  M
      F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap     
     F10=Left   F11=Right  F12=Cancel                                               
  6. PF3、Enter の順に押して、「編集」パネルに戻ります。

結果

このレッスンでは、SPUFI で以下のタスクを対話式に実行する方法について学習しました。

  • 表を作成する
  • 1 つの表から別の表に行を挿入する
  • 新しい表が作成され、データが含まれていることを確認する

次の作業

次のレッスンでは、MY_EMP 表のデータを変更します。