質問編集履歴
4
内容の編集
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
チェックや編集内容を更新
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
|
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
文法の修正
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
誤字を修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
また、複雑なチェック処理やデータの加工を行っている関係上、insert前に1件ずつの処理が必要です。
|
8
8
|
|
9
|
-
そのため、「insert ~ select
|
9
|
+
そのため、「insert ~ select」で一括インサートが難しい状況です。
|
10
10
|
|
11
11
|
|
12
12
|
|