回答編集履歴
1
追記
test
CHANGED
@@ -1 +1,83 @@
|
|
1
1
|
JOB_NAMEの後ろに[SEQUENCE](http://oracle.se-free.com/dml/10_seq.html) を使って連番を追加してみては?
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
```SQL
|
6
|
+
|
7
|
+
-- ジョブ名と同じSEQUENCE名というのも混乱するでしょうから、
|
8
|
+
|
9
|
+
CREATE SEQUENCE SEQ_Embulk_Test MINVALUE 1 MAXVALUE 9999999999999999999 INCREMENT BY 1 START WITH 39 NOCACHE ORDER NOCYCLE ;
|
10
|
+
|
11
|
+
```
|
12
|
+
|
13
|
+
```SQL
|
14
|
+
|
15
|
+
create or replace trigger embulk_tr
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
after insert on INPUT_TEST for each row
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
DECLARE
|
24
|
+
|
25
|
+
pragma autonomous_transaction;
|
26
|
+
|
27
|
+
L_SEQ_Embulk_Test NUMBER ;
|
28
|
+
|
29
|
+
begin
|
30
|
+
|
31
|
+
-- 意味のある字下げをしないから、コードを読みにくい
|
32
|
+
|
33
|
+
dbms_output.put_line('-------------------------');
|
34
|
+
|
35
|
+
dbms_output.put_line('OracleDB to BigQuery Bulk Insert Start');
|
36
|
+
|
37
|
+
-- ↓ 無名ブロック
|
38
|
+
|
39
|
+
SELECT SEQ_Embulk_Test.NEXTVAL INTO L_SEQ_Embulk_Test FROM DUAL ;
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
IF INSERTING THEN
|
44
|
+
|
45
|
+
DBMS_SCHEDULER.CREATE_JOB ( -- ↓桁あふれは考慮してない
|
46
|
+
|
47
|
+
JOB_NAME => 'Embulk_Test_' || TO_CHAR(L_SEQ_Embulk_Test, 'FM0000000000000000000'),
|
48
|
+
|
49
|
+
JOB_TYPE => 'EXECUTABLE',
|
50
|
+
|
51
|
+
JOB_ACTION => 'C:\Users\xxxxxx\Desktop\embulk\cmd.exe /c C:\Users\xxxxxx\Desktop\embulk\oracle_to_bigquery.bat',
|
52
|
+
|
53
|
+
start_date => TO_DATE('2018/11/13 00:00:00','yyyy/mm/dd hh24:mi:ss'),
|
54
|
+
|
55
|
+
end_date => TO_DATE('2999/12/31 00:00:00','yyyy/mm/dd hh24:mi:ss'),
|
56
|
+
|
57
|
+
auto_drop => TRUE,
|
58
|
+
|
59
|
+
enabled => TRUE
|
60
|
+
|
61
|
+
);
|
62
|
+
|
63
|
+
END IF;
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
dbms_output.put_line('OracleDB to BigQuery Bulk Insert End');
|
68
|
+
|
69
|
+
dbms_output.put_line('-------------------------');
|
70
|
+
|
71
|
+
end;
|
72
|
+
|
73
|
+
/
|
74
|
+
|
75
|
+
```
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
trigger は PL/SQL ですから、タグを追加しましょう。
|
80
|
+
|
81
|
+
PL/SQLはきちんと勉強しないと困りますよ。
|
82
|
+
|
83
|
+
[ここからはじめよう Oracle PL/SQL入門](https://www.oracle.com/technetwork/jp/ondemand/database/db-basic/b-11-plsql-1448399-ja.pdf)
|