スケジュール登録などで1つのボタンで
スケジュールを新規登録する機能(insert)とスケジュールを更新する機能(update)を兼ねる場合どのように実装したらいいでしょうか?以下のやり方以外で、効率よくできる方法を知りたいです。どうかよろしくお願いします。
<実装例概略>
・フォームから値をとってくる。
・その値がdbにはいっているか(select文)を調べる。
・値がdbにはいっていればupdate文、dbにはいっていなければinsert文を発行する。
os:winxp(professional)
db:Oracle9i
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
更新の場合、「既に登録されている内容を表示して、それを修正する」という方法をとらず、
全てを再入力するのですか?
そうではなく修正する方法をとるのなら、内容を表示する時点で更新だということが
わかっていますから、insertとupdateの判断は出来るんじゃないですか?
もっとも、他のユーザーによって作成・削除される可能性があるなら、
この限りではありませんけど。
ありがとうございます。
更新の場合、「既に登録されている内容があれば、表示してそれを修正する」という方法です。
サーバにリクエストを送る段階では、insertとupdateの判断はできません。
No.2
- 回答日時:
以下の方法が考えられます。
1.Insert処理を行い、エラーとなった場合(データが既にあるため)、Update処理を行う。
2.Update処理を行い、エラーとなった場合(データが存在しない)、Insert処理を行う。
利点
1の場合:エラーコード(データなしコード)が容易に使える事
2の場合:更新処理を先に行うため、全体的に処理回数が減る事
(スケジュール管理という事で、追加スケジュール件数が少ないという前提です)
欠点
1の場合:必ずInsert処理が起動されるため、更新だけの場合、処理回数が倍(追加処理→更新処理)となる事
2の場合:Update出来なかったというエラーコードを取得できるか分からないため(不勉強でJavaで出来るかわかりません。すみません)
分からない事を書くのは気がひけるのですが、方法という事で許して下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP php エラー 2 2022/10/23 16:43
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数値の定数を付ける時
-
ラベルの表示までが異常に遅い...
-
JSP、サーブレットの初期処理
-
再度、スレッドが実行中かどう...
-
Tomcat高負荷時の設定について
-
WPF C#でF10のイベント取得方法...
-
処理実行後、終了させないで最...
-
JavaでVBのDOEVENTSと同様の処...
-
Windowsサービスの処理
-
doGetとdoPostの違い
-
tryの終了
-
Odbcオブジェクトの解放の方法
-
ftp 同時複数接続の負荷テスト...
-
アコーディオンメニューをアン...
-
Class.ForName("sun.jdbc.odbc....
-
データ未入力時のエラー処理が...
-
PHPでDB処理中にプログレスバー...
-
JavaScriptからJAVAクラスを呼...
-
switch文の中に、throws new Ex...
-
do - while文
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tryの終了
-
doGetとdoPostの違い
-
Javaプログラムからポップアッ...
-
SwingUtilities.invokeLater(ne...
-
Javaでのデバッグコード削除
-
Tomcat高負荷時の設定について
-
JavaScriptからJAVAクラスを呼...
-
データ未入力時のエラー処理が...
-
アコーディオンメニューをアン...
-
ブラウザを閉じた後のサーバ側...
-
[Java] while(true)の意味
-
数値の定数を付ける時
-
Javaアプリケーション実行の返...
-
ラジオボタンの選択判定
-
onBlurとonFocusの処理順序につ...
-
スレッド1とスレッド2を交互に...
-
WPF C#でF10のイベント取得方法...
-
flush()メソッドについて・・・
-
ExcelVBA で文字列の特定の文字...
-
無限ループをわざと作って時計...
おすすめ情報