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

回答編集履歴

6

追記

2020/06/15 08:01

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -13,4 +13,5 @@
13
13
  重複が無いかどうかの検証なども考えると、データが確定していた方が、問い合わせが高速なので、総じて作業工数を短縮できます。
14
14
 
15
15
  元々の質問に関して、キーの状況次第ではupdate文で可能です。
16
- [津島博士のパフォーマンス講座 第30回 UPDATEについて](https://www.oracle.com/jp/database/technologies/tsushima/tsushima-hakushi-30.html)
16
+ [津島博士のパフォーマンス講座 第30回 UPDATEについて](https://www.oracle.com/jp/database/technologies/tsushima/tsushima-hakushi-30.html)
17
+ あくまで可能という事で、MERGEの方が自由度は高いですけど。

5

追記

2020/06/15 08:01

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -5,4 +5,12 @@
5
5
  尚、その為には連番を含めないで一意になっている必要があります。
6
6
  ※更新の例から言うと、(kojinno, cd , INSERT_DATE)が候補でしょう。
7
7
 
8
- 一意になっていない箇所がある場合は、個別で更新して仕上げするしかないでしょうね。
8
+ 一意になっていない箇所がある場合は、個別で更新して仕上げするしかないでしょうね。
9
+
10
+ 追記
11
+ --
12
+ データ補正に関しては、一度結果をじっくりと見た方が良いと考えて別テーブルへの出力をお薦めしました。
13
+ 重複が無いかどうかの検証なども考えると、データが確定していた方が、問い合わせが高速なので、総じて作業工数を短縮できます。
14
+
15
+ 元々の質問に関して、キーの状況次第ではupdate文で可能です。
16
+ [津島博士のパフォーマンス講座 第30回 UPDATEについて](https://www.oracle.com/jp/database/technologies/tsushima/tsushima-hakushi-30.html)

4

推敲

2020/06/15 07:58

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  そもそも、row_number()はselectの結果分しか取得しませんので、連番全体で取得しようとしてもサブクエリーが複数行を返すのでエラーです。
2
2
  ※仮にそれを相関で1行にしようとしても(無意味ですが)、これから設定しようとする連番で相関するのは矛盾しています。
3
3
 
4
- 一度別テーブルに全体を出力し、その結果で更新を掛けるようにして下さい。
4
+ 一度別テーブルに連番全体を出力し、その結果で更新を掛けるようにして下さい。
5
5
  尚、その為には連番を含めないで一意になっている必要があります。
6
6
  ※更新の例から言うと、(kojinno, cd , INSERT_DATE)が候補でしょう。
7
7
 

3

推敲

2020/06/15 06:01

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -3,4 +3,6 @@
3
3
 
4
4
  一度別テーブルに全体を出力し、その結果で更新を掛けるようにして下さい。
5
5
  尚、その為には連番を含めないで一意になっている必要があります。
6
- ※更新の例から言うと、(kojinno, cd , INSERT_DATE)が候補でしょう。
6
+ ※更新の例から言うと、(kojinno, cd , INSERT_DATE)が候補でしょう。
7
+
8
+ 一意になっていない箇所がある場合は、個別で更新して仕上げするしかないでしょうね。

2

推敲

2020/06/15 06:01

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  そもそも、row_number()はselectの結果分しか取得しませんので、連番全体で取得しようとしてもサブクエリーが複数行を返すのでエラーです。
2
- ※仮にそれを相関で1行に使用としても、これから設定しようとする連番で相関しても意味がありせん
2
+ ※仮にそれを相関で1行にしようとしても(無意味ですが)、これから設定しようとする連番で相関するのは矛盾して
3
3
 
4
4
  一度別テーブルに全体を出力し、その結果で更新を掛けるようにして下さい。
5
5
  尚、その為には連番を含めないで一意になっている必要があります。

1

推敲

2020/06/15 05:57

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,4 +1,5 @@
1
- そもそも、row_number()はselectの結果分しか取得しませんので、連番全体で取得しようとしてもサブクエリーが複数行を返すのでエラーですし、それを相関で1行に使用としてもこれから設定しようとする、連番で相関しても意味がありません
1
+ そもそも、row_number()はselectの結果分しか取得しませんので、連番全体で取得しようとしてもサブクエリーが複数行を返すのでエラーです。
2
+ ※仮にそれを相関で1行に使用としても、これから設定しようとする、連番で相関しても意味がありません。
2
3
 
3
4
  一度別テーブルに全体を出力し、その結果で更新を掛けるようにして下さい。
4
5
  尚、その為には連番を含めないで一意になっている必要があります。