回答編集履歴
6
訂正
answer
CHANGED
@@ -26,6 +26,6 @@
|
|
26
26
|
for i in 1..(wr.測定間隔日数 / 7) loop
|
27
27
|
-- insert 処理
|
28
28
|
end loop;
|
29
|
-
|
29
|
+
end loop;
|
30
30
|
END;
|
31
31
|
```
|
5
追記
answer
CHANGED
@@ -12,4 +12,20 @@
|
|
12
12
|
[Level擬似列](https://www.oracle.com/jp/technical-resources/article/set-of-sql-oracle-database-imaged.html)
|
13
13
|
[OracleでのPostgreSQLの「generate_series」(連続値の生成関数)的な使い方(LEVEL疑似列)](http://rnk.mitelog.jp/oyaji/2016/03/oraclepostgresq-cd15.html)
|
14
14
|
|
15
|
-
細々な編集があって追加時の値の判断が難しいなら、日付だけ追加した後に更新するなどすれば良いかと思いますが、それならいっそ、[無名ブロック](http://oracle.se-free.com/plsql/d1_block.html)で順次読み出しして追加する方が良い気がします。
|
15
|
+
細々な編集があって追加時の値の判断が難しいなら、日付だけ追加した後に更新するなどすれば良いかと思いますが、それならいっそ、[無名ブロック](http://oracle.se-free.com/plsql/d1_block.html)で順次読み出しして追加する方が良い気がします。
|
16
|
+
```SQL
|
17
|
+
-- 無名ブロック
|
18
|
+
DECLARE
|
19
|
+
wr record;
|
20
|
+
BEGIN
|
21
|
+
for wr in (
|
22
|
+
select tbl.*
|
23
|
+
, to_date(lead(測定日) over(order by 測定日), 'yyyymmdd') - to_date(測定日, 'yyyymmdd') as 測定間隔日数
|
24
|
+
from テーブル tbl order by 測定日
|
25
|
+
) loop
|
26
|
+
for i in 1..(wr.測定間隔日数 / 7) loop
|
27
|
+
-- insert 処理
|
28
|
+
end loop;
|
29
|
+
loop end;
|
30
|
+
END;
|
31
|
+
```
|
4
推敲
answer
CHANGED
@@ -12,4 +12,4 @@
|
|
12
12
|
[Level擬似列](https://www.oracle.com/jp/technical-resources/article/set-of-sql-oracle-database-imaged.html)
|
13
13
|
[OracleでのPostgreSQLの「generate_series」(連続値の生成関数)的な使い方(LEVEL疑似列)](http://rnk.mitelog.jp/oyaji/2016/03/oraclepostgresq-cd15.html)
|
14
14
|
|
15
|
-
細々な編集があって追加時の判断が難しいなら、日付だけ追加した後に更新するなどすれば良いかと思いますが、それならいっそ、[無名ブロック](http://oracle.se-free.com/plsql/d1_block.html)で順次読み出しして追加する方が良い気がします。
|
15
|
+
細々な編集があって追加時の値の判断が難しいなら、日付だけ追加した後に更新するなどすれば良いかと思いますが、それならいっそ、[無名ブロック](http://oracle.se-free.com/plsql/d1_block.html)で順次読み出しして追加する方が良い気がします。
|
3
追記
answer
CHANGED
@@ -12,4 +12,4 @@
|
|
12
12
|
[Level擬似列](https://www.oracle.com/jp/technical-resources/article/set-of-sql-oracle-database-imaged.html)
|
13
13
|
[OracleでのPostgreSQLの「generate_series」(連続値の生成関数)的な使い方(LEVEL疑似列)](http://rnk.mitelog.jp/oyaji/2016/03/oraclepostgresq-cd15.html)
|
14
14
|
|
15
|
-
細々な編集があって追加時の判断が難しいなら、日付だけ追加した後に更新するなどすれば良いかと思います。
|
15
|
+
細々な編集があって追加時の判断が難しいなら、日付だけ追加した後に更新するなどすれば良いかと思いますが、それならいっそ、[無名ブロック](http://oracle.se-free.com/plsql/d1_block.html)で順次読み出しして追加する方が良い気がします。
|
2
推敲
answer
CHANGED
@@ -12,4 +12,4 @@
|
|
12
12
|
[Level擬似列](https://www.oracle.com/jp/technical-resources/article/set-of-sql-oracle-database-imaged.html)
|
13
13
|
[OracleでのPostgreSQLの「generate_series」(連続値の生成関数)的な使い方(LEVEL疑似列)](http://rnk.mitelog.jp/oyaji/2016/03/oraclepostgresq-cd15.html)
|
14
14
|
|
15
|
-
|
15
|
+
細々な編集があって追加時の判断が難しいなら、日付だけ追加した後に更新するなどすれば良いかと思います。
|
1
追記
answer
CHANGED
@@ -10,4 +10,6 @@
|
|
10
10
|
```
|
11
11
|
カレンダーは実際のテーブルでも良いですし、`CONNECT BY LEVEL`を用いて仮想表を生成してもいいでしょう。
|
12
12
|
[Level擬似列](https://www.oracle.com/jp/technical-resources/article/set-of-sql-oracle-database-imaged.html)
|
13
|
-
[OracleでのPostgreSQLの「generate_series」(連続値の生成関数)的な使い方(LEVEL疑似列)](http://rnk.mitelog.jp/oyaji/2016/03/oraclepostgresq-cd15.html)
|
13
|
+
[OracleでのPostgreSQLの「generate_series」(連続値の生成関数)的な使い方(LEVEL疑似列)](http://rnk.mitelog.jp/oyaji/2016/03/oraclepostgresq-cd15.html)
|
14
|
+
|
15
|
+
こまごまな編集があって追加時の判断が難しいなら、日付だけ追加した後にWindow関数(lag()とlead()とか)を使用して更新するなどすれば良いかと思います。
|