私は 'UPDATE T SET d=d*2
'のような更新SQLを持っていて、 'SELECT d FROM T
'のような更新された値を照会します。 SQLコールを使用してJDBCでこれを実装できますか?ありがとう!1回の呼び出しで複数のSQL文を実行
1
A
答えて
2
いいえ、SELECTクエリとDMLを混在させることは、プレーンなSQLではすでに使用できません。したがって、JDBCはそれほど多くのことを行うことはできません。必要であれば、単一のトランザクションで少なくとも2つのクエリを実行する必要があります。 1つの代替方法として、CallableStatement
を1つだけ実行できるストアドプロシージャがありますが、これはこの単純な目的のために複雑すぎます。
-1
OracleのRETURNING INTO句を使用して、結果をpl/sqlの変数に取り込むことができます。 pl/sqlの中ではこのようなものですが、単純なSQLを使用して同じ結果を達成することは不可能かもしれません。
ところで、どのデータベースを使用していますか?
SQL> declare
2 l_empno number := 7369;
3 l_sal_initial number;
4 l_sal_updated number;
5 begin
6 select sal
7 into l_sal_initial
8 from emp
9 where empno= l_empno;
10 dbms_output.put_line('initial sal is.. ' || l_sal_initial);
11
12 update emp
13 set sal = sal*2
14 where empno = l_empno
15 returning sal into l_sal_updated;
16
17 dbms_output.put_line('final sal is ...' || l_sal_updated);
18
19 rollback;
20 end;
21/
PL/SQL procedure successfully completed.
SQL> set serveroutput on;
SQL>/
initial sal is.. 800
final sal is ...1600
関連する問題
- 1. 複数のpostgres SQL文を1回のPGexec呼び出しで渡す
- 2. Mysql2で1回の呼び出しで複数のSQLクエリを実行する方法IRBのGem?
- 3. Linq2Sql submitchanges()呼び出しが複数回実行される
- 4. 3回の再帰呼び出しを1行で呼び出しますか?
- 5. sqlite3_execは1回の呼び出しで複数のプラグマを実行できますか?
- 6. 複数のFacebookファンページデータを1回の呼び出しでリクエストする
- 7. 複数のCTEを同じクエリで複数回呼び出す
- 8. 複数のSQlCommand.ExecuteReaderを呼び出すか、datareader.NextResult()を使用して1回呼び出しますか?
- 9. Gradle buildConfigを複数回呼び出す
- 10. コンストラクターを呼び出す複数回
- 11. deleteRowsAtIndexPathsを複数回呼び出す
- 12. 複数の呼び出しを実行する
- 13. 複数のイベント、1つのハンドラが1回だけ呼び出される
- 14. selectステートメント内でスカラー関数を複数回呼び出すことは、関数を複数回実行しますか?その場合、回避する方法
- 15. 複数のSQL文で即時実行
- 16. rails 3 - ページロード時に複数のajax呼び出しを行う場合と1回の呼び出しを行う場合
- 17. キュー内の1つの関数が複数回呼び出されている間に複数回呼び出されている
- 18. 同じUDFへの複数の呼び出しが1つのステートメント内にある場合、呼び出される回数は何回ですか?
- 19. 複数のリモートオブジェクト呼び出しの呼び出し
- 20. js関数をワンクリックで複数回呼び出す
- 21. PythonのcProfileでは、呼び出し回数とプリミティブ呼び出し回数の違いは何ですか?
- 22. PostgreSQL:同じ関数を1回のクエリで複数回呼び出す最も良い方法は?
- 23. 他の比較演算子を1回の呼び出しで実装する
- 24. Wordpressのinitフックが複数回呼び出されました
- 25. JButtonでActionPerformedが複数回呼び出されましたか?
- 26. Getviewはアンドロイドで複数回呼び出されました
- 27. Angular2 HTTP呼び出しのテストは二回実行
- 28. jboss 5.0.1でSpringタスクスケジューラを実行する複数のタスク呼び出しJB
- 29. 効率的なSQLの更新複数の行を1つのSQL文で更新し、ループを回避する
- 30. textFieldShouldBeginEditing:UITableViewCellのUITextFieldで複数回呼び出されています
JavaおよびJDBCに関連する問合せ、場合によってはOracle以外のデータベースに関する問合せを除いて、すべて問題ありません。 –