Advertisement
Guest User

azertyuiop456

a guest
Jun 18th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.88 KB | None | 0 0
  1. <!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd">
  2. <etl>
  3.  
  4. <!-- = = = = = = = = = = = = = = = = = = = -->
  5. <!-- = Load external properties = -->
  6. <!-- = = = = = = = = = = = = = = = = = = = -->
  7. <properties><include href="etl.properties"/></properties>
  8.  
  9. <!-- = = = = = = = = = = = = = = = = = = = -->
  10. <!-- = Connections = -->
  11. <!-- = = = = = = = = = = = = = = = = = = = -->
  12. <connection id='log' driver='${driver_log}'/>
  13. <connection id='src' driver='${driver_src}' url='${url_src}' user='${user_src}' password='${pass_src}' classpath='lib/ojdbc6.jar'/>
  14. <connection id='ods' driver='${driver_ods}' url='${url_ods}' user='${user_ods}' password='${pass_ods}' classpath='lib/ojdbc6.jar'/>
  15. <connection id='dwh' driver='${driver_dwh}' url='${url_dwh}' user='${user_dwh}' password='${pass_dwh}' classpath='lib/ojdbc6.jar'/>
  16.  
  17. <!-- = = = = = = = = = = = = = = = = = = = -->
  18. <!-- Job definition = -->
  19. <!-- = = = = = = = = = = = = = = = = = = = -->
  20. <script connection-id='ods'>
  21. <onerror codes="955" retry='true'>
  22. DROP TABLE ODS_Person;
  23. </onerror>
  24. CREATE TABLE ODS_Person(
  25. BusinessEntityID int,
  26. PersonType char(2),
  27. NameStyle varchar2(64),
  28. Title varchar2(8),
  29. FirstName varchar2(64),
  30. MiddleName varchar2(64),
  31. LastName varchar2(64),
  32. Suffix varchar2(10),
  33. EmailPromotion int,
  34. rowguid varchar2(64),
  35. ModifiedDate timestamp,
  36. ActionFlag char(1)
  37. );
  38. </script>
  39. <query connection-id="src">
  40. SELECT
  41. BusinessEntityID,
  42. PersonType,
  43. NameStyle,
  44. Title,
  45. FirstName,
  46. MiddleName,
  47. LastName,
  48. Suffix,
  49. EmailPromotion,
  50. rowguid,
  51. ModifiedDate
  52. FROM SRC_Person;
  53. <script connection-id="ods">
  54. INSERT INTO ODS_Person
  55. VALUES (
  56. ?1,
  57. ?2,
  58. ?3,
  59. ?4,
  60. ?5,
  61. ?6,
  62. ?7,
  63. ?8,
  64. ?9,
  65. ?10,
  66. ?11,
  67. '-'
  68. );
  69. </script>
  70. </query>
  71. <query connection-id='ods'>
  72. SELECT count(1) AS result FROM ODS_Person;
  73. <script connection-id='log'>
  74. [ODS_Person] Loaded: ${result}
  75. </script>
  76. </query>
  77.  
  78. <!-- = = = = = = = = = = = = = = = = = = = -->
  79. <!-- Job definition = -->
  80. <!-- = = = = = = = = = = = = = = = = = = = -->
  81. <script connection-id='dwh'>
  82. <onerror codes="955">
  83. </onerror>
  84. CREATE TABLE DWH_Person(
  85. BusinessEntityID int,
  86. PersonType char(2),
  87. NameStyle varchar2(64),
  88. Title varchar2(8),
  89. FirstName varchar2(64),
  90. MiddleName varchar2(64),
  91. LastName varchar2(64),
  92. Suffix varchar2(10),
  93. EmailPromotion int,
  94. rowguid varchar2(64),
  95. ModifiedDate timestamp,
  96. SCD_Version int,
  97. SCD_Flag int,
  98. SCD_DateDebut date,
  99. SCD_DateFin date
  100. );
  101. </script>
  102. <script connection-id="ods">
  103. UPDATE ODS_Person SET ActionFlag='I';
  104. </script>
  105. <query connection-id="dwh">
  106. SELECT
  107. BusinessEntityID,
  108. PersonType,
  109. NameStyle,
  110. Title,
  111. FirstName,
  112. MiddleName,
  113. LastName,
  114. Suffix,
  115. EmailPromotion,
  116. rowguid,
  117. ModifiedDate
  118. FROM DWH_Person;
  119. <script connection-id="ods">
  120. UPDATE ODS_Person
  121. SET ActionFlag='-'
  122. WHERE BusinessEntityID=?1;
  123. </script>
  124. <script connection-id="ods">
  125. UPDATE ODS_Person
  126. SET ActionFlag='U'
  127. WHERE BusinessEntityID=?1 AND
  128. (
  129. PersonType != ?2
  130. OR NameStyle!=?3
  131. OR Title!=?4
  132. OR FirstName!=?5
  133. OR MiddleName!=?6
  134. OR LastName!=?7
  135. OR Suffix!=?8
  136. OR EmailPromotion!=?9
  137. OR rowguid!=?10
  138. OR ModifiedDate!=?11
  139. )
  140. </script>
  141. </query>
  142.  
  143. <!-- = = = = = = = = = = = = = = = = = = = -->
  144. <!-- Job definition = -->
  145. <!-- = = = = = = = = = = = = = = = = = = = -->
  146. <query connection-id="ods">
  147. SELECT
  148. BusinessEntityID,
  149. PersonType,
  150. NameStyle,
  151. Title,
  152. FirstName,
  153. MiddleName,
  154. LastName,
  155. Suffix,
  156. EmailPromotion,
  157. rowguid,
  158. ModifiedDate
  159. FROM ODS_Person
  160. WHERE ActionFlag='I';
  161. <script connection-id="dwh">
  162. INSERT INTO DWH_Person
  163. VALUES (
  164. ?1,
  165. ?2,
  166. ?3,
  167. ?4,
  168. ?5,
  169. ?6,
  170. ?7,
  171. ?8,
  172. ?9,
  173. ?10,
  174. ?11,
  175. 1,
  176. 1,
  177. TO_DATE('0001-01-01','YYYY-MM-DD'),
  178. TO_DATE('9999-12-31','YYYY-MM-DD')
  179. );
  180. </script>
  181. </query>
  182. <query connection-id='ods'>
  183. SELECT count(1) AS result FROM ODS_Person WHERE ActionFlag='I';
  184. <script connection-id='log'>
  185. [DWH_Person] Inserted: ${result}
  186. </script>
  187. </query>
  188.  
  189.  
  190. <query connection-id='ods'>
  191. SELECT count(1) AS result FROM ODS_Person WHERE ActionFlag='U';
  192. <script connection-id='log'>
  193. [DWH_Person] Updated: ${result}
  194. </script>
  195. </query>
  196. <!--
  197. <query connection-id='ods'>
  198. SELECT count(1) AS result FROM ODS_Person WHERE ActionFlag='D';
  199. <script connection-id='log'>
  200. [DWH_Person] Deleted: ${result}
  201. </script>
  202. </query>
  203. -->
  204. <query connection-id='dwh'>
  205. SELECT count(1) AS result FROM DWH_Person;
  206. <script connection-id='log'>
  207. [DWH_Person] Result: ${result}
  208. </script>
  209. </query>
  210. </etl>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement