質問編集履歴

4

内容の編集

2021/08/10 11:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -108,7 +108,7 @@
108
108
 
109
109
  loop
110
110
 
111
- --値の入力チェックや編集を行う
111
+ --値の入力チェックや編集を行う(15項目)
112
112
 
113
113
  --項目の入力チェックは省略しています
114
114
 

3

チェックや編集内容を更新

2021/08/10 11:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -92,6 +92,10 @@
92
92
 
93
93
  rec_test record;
94
94
 
95
+ fnc_return text;
96
+
97
+ err_msg text;
98
+
95
99
 
96
100
 
97
101
  begin
@@ -118,17 +122,23 @@
118
122
 
119
123
  -- 別functionで年齢から西暦等を取得する処理
120
124
 
121
- -- select fnc_get_seireki(rec_manager.age) into tmp_test.test4;
125
+ -- select fnc_get_seireki(rec_manager.age) into fnc_return;
126
+
127
+
128
+
129
+ --エラーが発生している場合
130
+
131
+ if fnc_return = 'true' then
132
+
133
+ err_msg = '西暦が取得できません';
134
+
135
+ else
136
+
137
+ tmp_test.test2 = fnc_return;
122
138
 
123
139
  end if;
124
140
 
125
141
  --...
126
-
127
-
128
-
129
-
130
-
131
-
132
142
 
133
143
 
134
144
 

2

文法の修正

2021/08/10 11:50

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  ```Postgres
62
62
 
63
- CREATE OR REPLACE FUNCTION fnc_main(id text)
63
+ CREATE OR REPLACE FUNCTION fnc_main(user_id text)
64
64
 
65
65
  RETURNS character varying
66
66
 
@@ -71,6 +71,8 @@
71
71
  declare
72
72
 
73
73
 
74
+
75
+ -- データが30万件ほどある
74
76
 
75
77
  cur_manager cursor is
76
78
 
@@ -102,21 +104,41 @@
102
104
 
103
105
  loop
104
106
 
107
+ --値の入力チェックや編集を行う
108
+
105
- --項目の入力チェックは省略しています
109
+ --項目の入力チェックは省略しています
106
110
 
107
111
  --値をセット
108
112
 
109
113
  tmp_test.test1 = rec_manager.first_name;
110
114
 
115
+ if rec_manager.id = 1 then
116
+
117
+ tmp_test.test_num = rec_manager.age;
118
+
119
+ -- 別functionで年齢から西暦等を取得する処理
120
+
121
+ -- select fnc_get_seireki(rec_manager.age) into tmp_test.test4;
122
+
123
+ end if;
124
+
111
125
  --...
112
126
 
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
113
- rec_test = tmp_test;
135
+ // rec_test = tmp_test; --恐らくエラーが発生している
114
136
 
115
137
  end loop;
116
138
 
117
139
 
118
140
 
119
- insert into test values(rec_test);
141
+ //insert into test values(rec_test); --恐らくエラーが発生している
120
142
 
121
143
 
122
144
 

1

誤字を修正しました。

2021/08/10 11:32

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  また、複雑なチェック処理やデータの加工を行っている関係上、insert前に1件ずつの処理が必要です。
8
8
 
9
- そのため、「insert ~ select into~」で一括インサートが難しい状況です。
9
+ そのため、「insert ~ select」で一括インサートが難しい状況です。
10
10
 
11
11
 
12
12