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

質問編集履歴

2

tag編集

2022/01/08 07:04

投稿

nakai_hiro
nakai_hiro

スコア13

title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,8 @@
2
2
  同様の現象を経験された方や現象をご存知の方はぜひ解決策を教えていただきませんか。
3
3
 
4
4
  現象が発生しているテーブル
5
+
6
+ ```
5
7
  MAILTABLE (
6
8
  M_SEQ NUMBER DEFAULT 0 NOT NULL,
7
9
  M_FROM VARCHAR2(64) DEFAULT '',
@@ -14,13 +16,16 @@
14
16
  **M_MESSAGE LONG** DEFAULT '',
15
17
  SEND_SCHEDULE_YMD DATE,
16
18
   SEND_END_DATE DATE)
19
+ ```
17
20
 
21
+
18
22
  現象
19
23
  メールをスケジュールした日時以降に送るプログラムがあり、SEND_SCHEDULE_YMDがSYSDATE以前のデータを取得し、M_FROMをFROM、M_TOをTOに、M_SUBJECTをメール、M_MESSAGEを本文として送信します。送信後はSEND_END_DATEに送信日時を入れて更新します。
20
24
  11g時代から使っているプログラムです。
21
25
 
22
26
  SELECT文は以下の通り。
23
27
 
28
+ ```SQL
24
29
  select M_SEQ ,
25
30
  M_FROM ,
26
31
  M_TO ,
@@ -37,20 +42,24 @@
37
42
  and SEND_END_DATE is null
38
43
  order by M_SEQ;
39
44
 
45
+ ```
40
46
 
41
47
  今回19cにdatapumpでエクスポート→インポートしたこのテーブルで、「order by」を使うか使わないかで取得するデータの中身が入れ替わってしまうレコードが発生しました。
42
48
 
43
49
  <order by を使わない結果(正しい内容)>
44
- M_SEQ M_FROM M_TO M_SUBJECT M_MESSAGE
50
+ |M_SEQ|M_FROM|M_TO|M_SUBJECT|M_MESSAGE
51
+ |:--|:--:|--:|
45
- 1 aaa@aaa.com to1@bbb.com 同じタイトル 本文1
52
+ 1 |aaa@aaa.com |to1@bbb.com |同じタイトル |本文1
46
- 2 aaa@aaa.com to2@bbb.com 同じタイトル 本文2
53
+ 2 |aaa@aaa.com |to2@bbb.com    |同じタイトル |本文2
47
- 3 aaa@aaa.com to3@bbb.com 同じタイトル 本文3
54
+ 3 |aaa@aaa.com |to3@bbb.com   |同じタイトル |本文3
48
55
 
49
56
  <order by を使った結果(不正な内容)>
50
- M_SEQ M_FROM M_TO M_SUBJECT M_MESSAGE
57
+ |M_SEQ|M_FROM|M_TO|M_SUBJECT|M_MESSAGE
58
+ |:--|:--:|--:|
59
+ ||||
51
- 1 aaa@aaa.com to1@bbb.com 同じタイトル 本文1
60
+ 1 |aaa@aaa.com |to1@bbb.com |同じタイトル |本文1
52
- **1** aaa@aaa.com **to1@bbb.com** 同じタイトル **本文2**
61
+ **1** |aaa@aaa.com |**to1@bbb.com**    |同じタイトル |本文2
53
- 3 aaa@aaa.com to3@bbb.com 同じタイトル 本文3
62
+ 3 |aaa@aaa.com |to3@bbb.com   |同じタイトル |本文3
54
63
 
55
64
 
56
65
  色々試した結果

1

誤字修正

2022/01/08 07:03

投稿

nakai_hiro
nakai_hiro

スコア13

title CHANGED
File without changes
body CHANGED
@@ -49,7 +49,7 @@
49
49
  <order by を使った結果(不正な内容)>
50
50
  M_SEQ M_FROM M_TO M_SUBJECT M_MESSAGE
51
51
  1 aaa@aaa.com to1@bbb.com 同じタイトル 本文1
52
- **1** aaa@aaa.com **to1@bbb.com** 同じタイトル **本文**
52
+ **1** aaa@aaa.com **to1@bbb.com** 同じタイトル **本文**
53
53
  3 aaa@aaa.com to3@bbb.com 同じタイトル 本文3
54
54
 
55
55