Guest User

Untitled

a guest
Apr 20th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. INSERT 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. )
  17. SELECT * FROM schema.myFoo;
  18.  
  19. create table t1 (pk int primary key, i int);
  20. create table t11 (pk int primary key, i int);
  21. insert into t1 values(1, 1);
  22. insert into t11 values(2, 21);
  23. insert into t11 values(3, 31);
  24. commit;
  25.  
  26. MERGE INTO t1 d
  27. USING t11 s ON (d.pk = s.pk)
  28. WHEN NOT MATCHED THEN INSERT (d.pk, d.i) VALUES (s.pk, s.i);
  29.  
  30. insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(customer_orders,pk_customer_orders) */
  31. into customer_orders
  32. (order_id, customer, product)
  33. values ( 1234, 9876, 'K598')
  34. ;
  35.  
  36. begin
  37. insert into customer_orders
  38. (order_id, customer, product)
  39. values ( 1234, 9876, 'K698')
  40. ;
  41. commit;
  42. exception
  43. when DUP_VAL_ON_INDEX
  44. then ROLLBACK;
  45. end;
  46.  
  47. begin
  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;
  62. exception
  63. when DUP_VAL_ON_INDEX
  64. then ROLLBACK;
  65. end;
  66.  
  67. insert myFoo
  68. select *
  69. from t
  70. where t.primary_key not in ( select primary_key from myFoo)
  71.  
  72. create table t1 (pk int primary key, i int);
  73. create table t11 (pk int primary key, i int);
  74. insert into t1 values(1, 1);
  75. insert into t11 values(2, 21);
  76. insert into t11 values(3, 31);
  77. commit;
  78.  
  79. MERGE INTO t1 d
  80. USING t11 s ON (d.pk = s.pk)
  81. WHEN NOT MATCHED THEN INSERT (d.pk, d.i) VALUES (s.pk, s.i);
  82.  
  83. if not exists (...) insert ...
  84.  
  85. insert into destination (DESTINATIONABBREV)
  86. select 'xyz' from dual
  87. left outer join destination d on d.destinationabbrev = 'xyz'
  88. where d.destinationid is null;
Add Comment
Please, Sign In to add comment