回答編集履歴

6

追記

2020/06/15 08:01

投稿

sazi
sazi

スコア25138

test CHANGED
@@ -29,3 +29,5 @@
29
29
  元々の質問に関して、キーの状況次第ではupdate文で可能です。
30
30
 
31
31
  [津島博士のパフォーマンス講座 第30回 UPDATEについて](https://www.oracle.com/jp/database/technologies/tsushima/tsushima-hakushi-30.html)
32
+
33
+ あくまで可能という事で、MERGEの方が自由度は高いですけど。

5

追記

2020/06/15 08:01

投稿

sazi
sazi

スコア25138

test CHANGED
@@ -13,3 +13,19 @@
13
13
 
14
14
 
15
15
  一意になっていない箇所がある場合は、個別で更新して仕上げするしかないでしょうね。
16
+
17
+
18
+
19
+ 追記
20
+
21
+ --
22
+
23
+ データ補正に関しては、一度結果をじっくりと見た方が良いと考えて別テーブルへの出力をお薦めしました。
24
+
25
+ 重複が無いかどうかの検証なども考えると、データが確定していた方が、問い合わせが高速なので、総じて作業工数を短縮できます。
26
+
27
+
28
+
29
+ 元々の質問に関して、キーの状況次第ではupdate文で可能です。
30
+
31
+ [津島博士のパフォーマンス講座 第30回 UPDATEについて](https://www.oracle.com/jp/database/technologies/tsushima/tsushima-hakushi-30.html)

4

推敲

2020/06/15 07:58

投稿

sazi
sazi

スコア25138

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- 一度別テーブルに全体を出力し、その結果で更新を掛けるようにして下さい。
7
+ 一度別テーブルに連番全体を出力し、その結果で更新を掛けるようにして下さい。
8
8
 
9
9
  尚、その為には連番を含めないで一意になっている必要があります。
10
10
 

3

推敲

2020/06/15 06:01

投稿

sazi
sazi

スコア25138

test CHANGED
@@ -9,3 +9,7 @@
9
9
  尚、その為には連番を含めないで一意になっている必要があります。
10
10
 
11
11
  ※更新の例から言うと、(kojinno, cd , INSERT_DATE)が候補でしょう。
12
+
13
+
14
+
15
+ 一意になっていない箇所がある場合は、個別で更新して仕上げするしかないでしょうね。

2

推敲

2020/06/15 06:01

投稿

sazi
sazi

スコア25138

test CHANGED
@@ -1,6 +1,6 @@
1
1
  そもそも、row_number()はselectの結果分しか取得しませんので、連番全体で取得しようとしてもサブクエリーが複数行を返すのでエラーです。
2
2
 
3
- ※仮にそれを相関で1行に使用としても、これから設定しようとする連番で相関しても意味がありせん
3
+ ※仮にそれを相関で1行にしようとしても(無意味ですが)、これから設定しようとする連番で相関するのは矛盾して
4
4
 
5
5
 
6
6
 

1

推敲

2020/06/15 05:57

投稿

sazi
sazi

スコア25138

test CHANGED
@@ -1,4 +1,6 @@
1
- そもそも、row_number()はselectの結果分しか取得しませんので、連番全体で取得しようとしてもサブクエリーが複数行を返すのでエラーですし、それを相関で1行に使用としてもこれから設定しようとする、連番で相関しても意味がありません
1
+ そもそも、row_number()はselectの結果分しか取得しませんので、連番全体で取得しようとしてもサブクエリーが複数行を返すのでエラーです。
2
+
3
+ ※仮にそれを相関で1行に使用としても、これから設定しようとする、連番で相関しても意味がありません。
2
4
 
3
5
 
4
6