Q146:1行のテーブル格納変数内のデータでデータベースを更新するには?
Q146-1:
MySQL5.5に接続して、データの入出力を行おうとしています。
MZPFにて、ウィンドウ内にテキストフィールドコンポーネントを多数配置し、そこにユーザーが入力を行うと、テーブル格納変数に1行複数列のデータとして格納するように作成しました。
そして、ユーザーが登録ボタンを押すと、テーブル格納変数の1行のデータにてMySQLデータベース内の指定行が更新されるようにしたいと思います。
購買管理アプリケーションチュートリアルでは、「更新したい行を予めdeleteしてから、新たにデータをinsertする」という方法が紹介されていましたが、やはりこの方法がベストなのでしょうか?
update文で上記の処理を行おうとすると、SQL文内に大量の変数を設定しておいて、テーブル格納変数のセル1個ずつを参照しながら変数置換していくという面倒な方法しか思い浮かびません。
A146-1:
データベースのレコードの更新について、確かに購買管理アプリケーションチュートリアルでは、
> 「更新したい行を予めdeleteしてから、新たにデータをinsertする」という方法
が記載されておりますが、既に定義されている削除処理を再利用できると言う点で、チュートリアルとして意味があるものとして記載しております。
通常は、お気づきのとおり少々面倒ですが、update文を作成してデータベースの機能を用いてレコードを更新する方が適切であると思います。