Vreau să spun despre abordarea pe care eu, ca mulți dintre colegii mei, utilizat atunci când doriți să creați un tabel temporar pentru a fi utilizate pentru a încărca date.
Spre deosebire de algoritmul de a crea un tabel temporar prin interfața descrisă aici, prefer să folosesc în acest scop proces Oracle Data Integrator.
De ce este uneori necesar pentru a crea tabele temporare? Toate motivele pe care le pot gândi pot fi împărțite în două părți: restricții ODI și caracteristici utilizate de SGBD în care este încărcată de date.
Limitările ODI includ:
- incapacitatea de a utiliza astfel de declarații SQL ca Uniune, Minus, Intersectarea în interfețele;
- . În cazul în care, de exemplu, operatorul trebuie să te califici o dată, este mai ușor să facă acest lucru în cadrul procedurii.
Deci, cum vă creați un tabel temporar în cadrul procedurii? Da, în general, precum și printr-o aplicație client bază de date. Trebuie să scrie un script SQL pentru a crea un tabel.
crea TEMP_GROUP tabel
selectați GROUP din Source2
În continuare, textul ar trebui să fie introdus în cadrul procedurii, specificând tehnologia utilizată și selectarea în mod corect schema bazei de date.
De obicei, utilizarea de tabele temporare implică trei etape:
Asta e doar să-ți spun cum o procedura ODI face cu prima și a treia etapă, și am intenționat să scriu acest post.
Deci, creați o procedură cu următoarele etape:
Pentru fiecare pas, ne-am stabilit tehnologia dreapta și schema bazei de date, în care va fi efectuată etapa a procedurii, și nu uitați acolo unde este cazul, se indică tipul de contor:
Creați procedura de opțiune numesc, de exemplu, CreateTable. Setați tipul Verificați cutia sa.
Mai mult, pentru fiecare etapă a procedurii, cu excepția primei, setați semnul etape de execuție condiționale:
Pentru a face acest lucru, scoateți marca din Execute întotdeauna, și a pus-o în fața opțiunii CreateTable.
Pentru prima etapă a stabilit un semn al erorii ignora (Ignoră erori). Deci, vom face la pornire procedura nu a fost o eroare, în cazul în care tabelul temporar în baza de date acolo. Mai degrabă, eliminarea tabelului temporar înainte de a crea o abordare validă, deoarece este posibil ca atunci când un pachet care utilizează această procedură va fi început după un eșec de a alerga anterioare, timp în care masa noastră nu a fost eliminat din baza de date.
Pregătirea este finalizată. În continuare, am creat folosind procedura din pachet sunt de două ori:
Această abordare este, în plus față de avantajele și dezavantajele, în special pentru utilizarea tabelelor temporare în interfața, trebuie să creați, de asemenea, un model.