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