· 8 years ago · Apr 20, 2018, 04:16 PM
1INSERT ALL
2 IF NOT EXISTS( SELECT 1 WHERE fo.primary_key='bar' )
3 (
4 INSERT INTO
5 schema.myFoo fo ( primary_key, value1, value2 )
6 VALUES
7 ('bar','baz','bat')
8 ),
9
10 IF NOT EXISTS( SELECT 1 WHERE fo.primary_key='bar1' )
11 (
12 INSERT INTO
13 schema.myFoo fo ( primary_key, value1, value2 )
14 VALUES
15 ('bar1','baz1','bat1')
16 )
17SELECT * FROM schema.myFoo;
18
19create table t1 (pk int primary key, i int);
20create table t11 (pk int primary key, i int);
21insert into t1 values(1, 1);
22insert into t11 values(2, 21);
23insert into t11 values(3, 31);
24commit;
25
26MERGE INTO t1 d
27USING t11 s ON (d.pk = s.pk)
28WHEN NOT MATCHED THEN INSERT (d.pk, d.i) VALUES (s.pk, s.i);
29
30insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(customer_orders,pk_customer_orders) */
31 into customer_orders
32 (order_id, customer, product)
33values ( 1234, 9876, 'K598')
34 ;
35
36begin
37 insert into customer_orders
38 (order_id, customer, product)
39 values ( 1234, 9876, 'K698')
40 ;
41 commit;
42exception
43 when DUP_VAL_ON_INDEX
44 then ROLLBACK;
45end;
46
47begin
48 select count (*)
49 into l_is_matching_row
50 from customer_orders
51 where order_id = 1234
52 ;
53
54 if (l_is_matching_row = 0)
55 then
56 insert into customer_orders
57 (order_id, customer, product)
58 values ( 1234, 9876, 'K698')
59 ;
60 commit;
61 end if;
62exception
63 when DUP_VAL_ON_INDEX
64 then ROLLBACK;
65end;
66
67insert myFoo
68 select *
69 from t
70 where t.primary_key not in ( select primary_key from myFoo)
71
72create table t1 (pk int primary key, i int);
73create table t11 (pk int primary key, i int);
74insert into t1 values(1, 1);
75insert into t11 values(2, 21);
76insert into t11 values(3, 31);
77commit;
78
79MERGE INTO t1 d
80USING t11 s ON (d.pk = s.pk)
81WHEN NOT MATCHED THEN INSERT (d.pk, d.i) VALUES (s.pk, s.i);
82
83if not exists (...) insert ...
84
85insert into destination (DESTINATIONABBREV)
86 select 'xyz' from dual
87 left outer join destination d on d.destinationabbrev = 'xyz'
88 where d.destinationid is null;