月別アーカイブ: 2016年10月

データベースのテーブル操作/INSERT


INSERTステートメントは、テーブルに登録するためのステートメントです。
以下は、売上テーブルにデータを登録する記述です。
登録するデータは、お客様番号=CUST03、売上年月=200002、 商品番号=C0000001、単価=1500、数量=1、金額=1500とします。

 SALTBL(売上テーブル)

お客様番号 売上年月 商品番号 単価 数量 金額
CUSTCD(6桁) SALYM(6桁) SYOHIN(8桁) TANKA(6桁) SURYO(6桁) KINGAKU(6桁)
CUST01 200001 A0000001 1000 10 10000
CUST01 200001 B0000001 2000 10 20000
CUST02 200001 A0000001 3000 10 30000

(1)売上テーブルに登録するSQL

EXEC SQL
     INSERT  INTO SALTBL
             CUSTCD,
             SALYM,
             SYOHIN,
             TANKA,
             SURYO,
             KINGAKU
     VALUE   ‘CUST03’,
             ‘200002’,
             ‘C0000001’,
             1500,
             1,
             1500
END-EXEC.
 
(2)登録した結果を判定する
 
EVALUATE SQLCODE
  WHEN   ZERO
         参照できた場合の処理を行う
  WHEN   重複時のコード
         対象のキーが登録済の処理を行う
  WHEN   OTHER
         異常発生時の処理を行う
END-EVALUATE.
 
(1)の部分がSQLステートメントです。
①SQLを記述する場合、先頭に「EXEC SQL」最後に「END-EXEC」
と記述します。
②「INSERT」は、テーブルへ登録する場合に記述します。
③「INTO SALTBL」は、登録するテーブル名(SALTBL)を記述します。
④テーブルの列名(項目名)を記述します。
 通常は、全ての列名を記述する。
 列名と列名に「,」を記述する。(最後の列名の後は「,」を記述しない。
⑤「VALUE」の後に④で記述した列名に対応する値を記述する。
 
(2)はINSERTの結果を判定して、対応する処理を行います。
結果の判定はSQLCODEという項目名の値を判定します。
DBMSの種類によって、SQLCODEの値の意味が異なりますので注意が必要です。
正常に参照できた場合、SQLCODEはZEROになりますので、正常に登録された場合の処理を行います。
キー重複が起きた場合、登録されませんので未登録の場合の処理を行います。
上記いずれでもない場合は、異常状態ですからこれ以上処理を継続することはできません。
一般的な処理は、異常状態を知らせる処理を行って終了します。

 

 


データベースのテーブル操作/SELECT


SELECTステートメントは、テーブルを参照するためのステートメントです。      
売上テーブルから任意のお客様番号、売上年月、商品番号をキーとして全ての項目を参照するためのSQLを記述してみます。      
参照するキーは、お客様番号=CUST01、売上年月=200001、商品番号=A0000001とします。

 SALTBL(売上テーブル)

お客様番号 売上年月 商品番号 単価 数量 金額
CUSTCD(6桁) SALYM(6桁) SYOHIN(8桁) TANKA(6桁) SURYO(6桁) KINGAKU(6桁)
CUST01 200001 A0000001 1000 10 10000
CUST01 200001 B0000001 2000 10 20000
CUST02 200001 A0000001 3000 10 30000

(1)売上テーブルを参照するSQL      
EXEC SQL      
     SELECT * FROM SALTBL      
       WHERE CUSTCD = ‘CUST01’      
         AND SALYM  = ‘200001’      
         AND SYOHIN = ‘A0000001’      
END-EXEC.      
      
(2)参照した結果を判定する      
EVALUATE SQLCODE      
  WHEN   ZERO      
         参照できた場合の処理を行う      
  WHEN   100      
         対象のキーが存在しない処理を行う      
  WHEN   OTHER      
         異常発生時の処理を行う      
END-EVALUATE.      
      
(1)の部分がSQLステートメントです。      
①SQLを記述する場合、先頭に「EXEC SQL」最後に「END-EXEC」      
と記述します。      
②「SELECT」は、テーブルを参照する場合に記述します。      
③「*」は、テーブルの項目全てを参照する場合に記述します。      
 「*」の代わりに以下のように記述することもできます。      
 コーディング規則で「*」を使用禁止としている企業も少なくありません。      
      
   SELECT      
   CUSTCD,      
      SALYM,      
      SYOHIN,      
      TANKA,      
      SURYO,      
      KINGAKU      
     FROM SALTBL      
     INTO      
   :CUSTCD,      
      :SALYM,      
      :SYOHIN,      
      :TANKA,      
      :SURYO,      
      :KINGAKU      
     WHERE CUSTCD = ‘CUST01’      
       AND SALYM  = ‘200001’      
       AND SYOHIN = ‘A0000001’      
      
(2)はSQLで参照した結果を判定して、対応する処理を行います。      
結果の判定はSQLCODEという項目名の値を判定します。
DBMSの種類によって、SQLCODEの値の意味が異なりますので注意が必要です。
ここではIBMのDB2を使用した場合を想定しています。
正常に参照できた場合、SQLCODEはZEROになりますので、参照項目を使用した処理を行います。
対象データが存在しない場合、SQLCODEは-100になりますので、参照項目は使用できません。 
この場合は、対象なしの処理を行います。      
上記いずれでもない場合は、異常状態ですからこれ以上処理を継続することはできません。      
一般的な処理は、異常状態を知らせる処理を行って終了します。      
補足ですが、テーブルを定義するときにユニークキー項目(重複しないキー)を定義する必要があります。      
ここで記述したSELECTを発行する場合、ユニークキーを使用するか、重複しないキー項目をキーとして参照しなければなりません。      
対象データが複数存在した場合、SQLCODEはZEROでも-100でもない値となり異常状態となってしまいます。      
SQLを発行できるツールの動作では複数データ参照可能ですが、COBOLで使用するSELECTでは1回のSQLで複数データを参照することはできません。      


All in One SEO Pack


All in One SEO Packは、SEOに有効な必須プラグインです。

このプラグインには、次のような機能があります。

・タイトル、ディスクリプション、キーワードがページ毎に設定可能な機能。

・Googleクローラの巡回を即すサイトマップの作成機能。

・メディア(Twitter、Google+)との連携が容易に可能な機能。

・Googleのサイト解析機能(Search Console)にサイトの所有権を認識させる設定が容易にできる。

 利用するには、Search Consoleへのサイト登録が必要となります。

 

【All in One SEO Packのインストールと設定】

1.インストール

①All in One SEO Packをインストールして有効化する。

②ダッシュボードの下に「All in One SEO」が表示されるので、クリックする。

③All in One SEOの下に「一般設定・パフォーマンス・機能設定」が表示される。

2.XMLサイトマップの有効化

①「機能設定」をクリックすると、機能管理パネルが表示される。

②XMLサイトマップの下に表示された「Activate」ボタンをクリックする。

③「Activate」→「Deactivate」に表示が変更される。

④All in One SEOの下に「XMLサイトマップ」が表示される。

これでXMLサイトマップが作成できるようになりました。

3.ソーシャルメディア設定の有効化

ソーシャルメディアの下に表示された「Activate」ボタンをクリックする。

「Activate」→「Deactivate」に表示が変更される。

All in One SEOの下に「ソーシャルメディア」が表示される。

これでソーシャルメディアへ連携するための設定ができるようになりました。

4.一般設定

全ての設定項目について知っているわけではありませんので、わかる範囲で解説します。

設定変更は何度でも可能ですから、必要に応じて設定していけばいいでしょう。

All in One SEOの「一般設定」をクリックする。
 
①一般設定
 
 「元のタイトルを利用」は、「利用停止」を設定。
 
 投稿する毎に設定しているため、利用停止としている。
 
 他の項目はチェックなし。
 
②ホームページ設定
 
 ここはホームページの属性で、ホームページの投稿パネルでも設定できます。
 
 ホームタイトル
 
 ホームディスクリプション
 
 ホームキーワード
 
 「代わりに固定フロントページを利用する。」は、「利用停止」を設定。
③タイトル設定
 
 「タイトルを書き換える」は、「利用停止」を設定。
 
 投稿時にページ毎に最適な設定をするため、利用停止にする。
 
④カスタム投稿タイプ設定
 
 いまのところカスタム投稿は利用していませんが、一応設定している。
 
 利用する場合は、「有効」を設定。
 
 「投稿、固定ページ」にチェック。
 
 カスタム投稿時にSEO項目設定可能となる。
 
⑤表示設定
 
 メディアはチェックなし
 
 他はチェック
 
⑥ウェブマスター認証
 
 各利用時に設定する。
 
 Googleウェブマスターツール
 
  未設定
 
  SesrchConsoleへサイトアドレスを登録するときの認証時に必要となります。
 
 Bing Web マスターセンター
 
  未設定(現在未使用のため)
 
 Pinterest Site Verification
 
  未設定(現在未使用のため)
 
⑦Google設定
 
 未設定(現在未使用のため)
 
⑧Noindex設定
 
 カテゴリーをNoIndexにする~use noindex for paginated pages/postsまでチェックする。
 

⑨詳細設定

  未設定
 

⑩キーワード設定

  「キーワードを使用」は「有効」を設定。
 
 有効にしないとキーワードが設定できません。
 
5.パフォーマンス
 
 デフォルト設定
 
6.XMLサイトマップ
 
 Googleへサイトマップを送ることによって、自分のサイトがGoogle検索の対象に
 なる時期が短縮されるメリットがあるようです。
 
 Googleのインデックス登録によって、サイトへの検索が可能となります。
 
 Sesrch Consoleにサイトを登録する方法は、ここをクリックしてください。
 
7.ソーシャルメディア
 
  ソーシャルメディアは、いまのところTWITTERのみ連携しています。
 
  ソーシャルメディアの設定は、記事投稿時に設定しています。
 
  TWITTER連携時は、個別記事で設定したタイトルとディスクリプションが表示されています。
  一応設定はしていますが、ここで設定した項目は表示されているように思えません。
 
  ホームページ設定
 
   サイト名
   ホームタイトル
   ホームのディスクリプション
 
  画像設定
 
   SelectOG:IMaGeSource
    アイキャッチ画像を選択する。
 
   画像が見つからない場合はデフォルトを使用
    チェックを付ける。
 
  デフォルトのOG:Image
   デフォルト画像を設定する。