質問するログイン新規登録

回答編集履歴

1

加筆修正

2020/04/21 11:09

投稿

退会済みユーザー
answer CHANGED
@@ -1,9 +1,16 @@
1
1
  ```
2
2
  String sql = "INSERT INTO question(seq, a, b, c)
3
- VALUES(nextval(seq), ?, ?, ?)";
3
+ VALUES(nextval('seq'), ?, ?, ?)";
4
4
  pStmt.setString(1, getA());
5
5
  pStmt.setString(2, getB());
6
6
  pStmt.setString(3, getC());
7
7
  ```
8
8
 
9
- じゃないの?
9
+ じゃないの?
10
+
11
+ [9.16. シーケンス操作関数](https://www.postgresql.jp/document/11/html/functions-sequence.html)
12
+ にあるとおり、SQLとして
13
+ `SELECT nextval('seq') AS S`とかクエリーとして実行して値を取得してから、
14
+ 次のINSERT INTO文に使うのもいいけど、
15
+ 一度にやるなら冒頭に挙げたようにすればいいとおもう。
16
+ シーケンスの発番管理はあくまでデータベース内のものなので。