質問編集履歴

4

2022/08/29 08:58

投稿

wawawataru
wawawataru

スコア11

test CHANGED
@@ -1 +1 @@
1
- createNativeQueryでsetval実行
1
+ [PostgreSQL]シーケンスサイクル確認
test CHANGED
@@ -1,8 +1,7 @@
1
- createNativeQuery「SELECT setval('test_seq", 9999, true)」として、getSingleResultを行ったところ「could not prepare statement 」といエラーが発生し、setvalが見つからないというメッセージがコンソールに表示されした
1
+ javaでシーケンス値のサイクル確認を行うメドを考えてい
2
2
 
3
- setvalの実行はcreateNativeQueryはおこえないのょうか?
3
+ setvalでシーケンス現在値を最大に設定し、その後nextvalを行うことサイクル確認できないかと思い下記ようなコードを書きまた。
4
4
 
5
- ↓実際のコード
6
5
  ```
7
6
  @Autowired
8
7
  private EntityManager entityManager
@@ -14,6 +13,9 @@
14
13
  }
15
14
  ```
16
15
 
17
- ↓エラーメッセージ
16
+ ですが
18
17
  SQLGrammarException: could not prepare statement
19
18
  Function "SETVAL" not found; SQL statement
19
+ このようなエラーが発生してシーケンスの現在値をずらすことができません。
20
+
21
+ なんとかサイクル確認を行えるメソッドを作りたいのですが、ご助力お願い致します。

3

コード追加

2022/08/29 07:03

投稿

wawawataru
wawawataru

スコア11

test CHANGED
File without changes
test CHANGED
@@ -2,3 +2,18 @@
2
2
 
3
3
  setvalの実行はcreateNativeQueryではおこなえないのでしょうか?
4
4
 
5
+ ↓実際のコード
6
+ ```
7
+ @Autowired
8
+ private EntityManager entityManager
9
+
10
+ @Test
11
+ public void test() {
12
+ Query query = entityManager.createNativeQuery("SELECT setval('test_seq', 9999, true)");
13
+ query.getSingleResult();
14
+ }
15
+ ```
16
+
17
+ ↓エラーメッセージ
18
+ SQLGrammarException: could not prepare statement
19
+ Function "SETVAL" not found; SQL statement

2

a

2022/08/29 06:01

投稿

wawawataru
wawawataru

スコア11

test CHANGED
@@ -1 +1 @@
1
- JUnitを使ったシーケンス値の試験
1
+ createNativeQueryでのsetval実行
test CHANGED
File without changes

1

2022/08/29 05:55

投稿

wawawataru
wawawataru

スコア11

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,4 @@
1
- JUnitテストでPostgreSQLのシケンス最大の時にnextvalをするこで取得値1戻ることの確認ケースを実装したいと考えております
1
+ createNativeQueryで「SELECT setval('test_seq", 9999, true)」としてgetSingleResultを行ったところ「could not prepare statement 」というエラーが発生し、setvalが見つからないいうメッセージコンソール表示されました。
2
2
 
3
- すが、プログラムからシーケンス現在値を最大に設定する方法が分りません。
3
+ setvalの実行はcreateNativeQueryはおこなえないでしょう
4
4
 
5
- すいませんが、どなたかご教授お願い致します。