PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
20382 | 03/10/07 09:59:58 | RE(4):PB6.5: INSERT文及びUpdateエラー対応について By aokazumajin |
20344 | 03/09/26 17:28:52 | RE(3):PB6.5: INSERT文及びUpdateエラー対応について By Chicchi |
20343 | 03/09/26 17:01:18 | RE(2):PB6.5: INSERT文及びUpdateエラー対応について By aokazumajin |
20342 | 03/09/26 14:12:33 | RE(1):PB6.5: INSERT文及びUpdateエラー対応について By Chicchi |
20337 | 03/09/26 10:52:42 | PB6.5: INSERT文及びUpdateエラー対応について By aokazumajin |
カテゴリ:データウィンドウ
日付:2003年09月26日 14:12 発信者:Chicchi
題名:RE(1):PB6.5: INSERT文及びUpdateエラー対応について
aokazumajinさん、こんにちは。
>(例) Aファイルの内容 Bファイルの内容 Cファイルの内容
> CCC DDD EEE CCC FFF GGG DDD EEE GGG
>
>
>AというテキストファイルとBというPBデータベースファイルがあります。
>AファイルのCCCカラムとBファイルのCCCカラムのKEY項目でマッチングをして一致したKEYがある場合、上記の
(例)
>で言うとAファイルのDDDとEEEのカラムとBファイルのGGGのカラムをCファイルにセットして、Cファイルのデータを
>UPDATEして、Cファイルのデータベースを作成する処理を行っていますがINSERT文を行っても、行の挿入がされず
>UPDATEしても、データウィンドウはUPDATE機能がありません!とエラーとなります。良い解決法があれば、教えて
>頂けないでしょうか?
>
>コード内容)
>
>IF A-CCC = B-CCC Then
> INSERT INTO C-TBL(C-TBL.DDD,C-TBL.EEE,C-TBL.GGG)VALUES (:A-TBL.DDD,:A-TBL.EEE,:B-TBL.GGG);
> UPDATE D_CFILE SET D_CFILE.DDD =:A-TBL.DDD,D_CFILE.EEE =:A-TBL.EEE,D_CFILE.GGG =:B-TBL.GGG
> WHERE A-CCC = :B-CCC;
>END IF
ちょっと整理しましょう。
A → テキストファイル
B → データベースのテーブル
C → データベースのテーブル
ファイル A と テーブル B のキー部が一致した場合、A の項目と B のカラムのいくつかを結合
してテーブル C を更新する、ということですよね ?
で、
? テーブル C に INSERT を行なっても追加されておらず、
? UPDATE してもデータウィンドウのエラーが発生する
ということですよね。
でも、サンプルスクリプトを見ると、INSERT 文は COMMIT しておらず (そもそも更新の成否を
判定していませんね)、UPDATE も SQL を直接指定しておられるようで、データウィンドウとは
何の関係もなさそうなのに、何故データウィンドウのエラーが表示されるのでしょうか ?
テーブル名やカラム名の詳細はともかく、スクリプト自体を歪曲して載せていませんか ?
また、INSERT 文 と UPDATE 文でテーブル C のテーブル名が違っているようですが、これは
何故でしょうか ?
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Sybase SQL Anywhere Client
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.