Când ancheta mea a devenit atât de complicată încât a depășit limitele înțelegerii mele, am decis să utilizeze interogările lot.
După cum sa dovedit foarte simplu. Trebuie doar să scrie interogări multiple, separate prin punct și virgulă. Rezultatul va reveni în ultima solicitare.
interogările lot a apărut doar în versiunea 8.1.11.67.4.
Aici este textul interogare:
T1.Zn PUT VTBukvy SELECT FROM (SELECT "A" CUM SE ALEGE Acq-es combina toate "B") AS T1;
T1.Zn PUT VTTsifry SELECT FROM (SELECT "1" AS Acq-es UNIȚI ALL SELECT "2") AS T1;
ALEGE TB.Zn, TTs.Zn, TB.Zn + TTs.Zn DIN VTBukvy ca TB, TC AS VTTsifry
interogările discontinuă sunt acceptate în orice solicitare consola convenționale.
Cifra este un exemplu de interogare:
Și acum, un pic de experiență. De ce interogări lot.
Faptul că un tabel temporar, puteți pune un fel de rezultat intermediar, care apoi pot fi necesare în mai multe cereri ulterioare.
Anterior, când a existat o tabelă temporară ar trebui să duplica textul interogării.
Puteți face cu siguranță, fără o interogare lot, în mod constant efectuarea mai multe interogări și să manipuleze tabele imbricate. Dar, cu cereri de pachete de mai convenabil. Doar scrie cerere, și nu cred că despre plasarea de tabele temporare. Totul se întâmplă de la sine.
În plus, dacă utilizați compoziția de date (ACS), se selectează în mod inteligent câmpurile dorite și minimizează întregul pachet cerere.
În cazul în care cererea a fost o metodă Zapros.Vypolnit () a apărut acum metoda Zapros.VypolnitPaket (). care returnează toate tabelele din pachet, sub forma unei matrice.
Istoria vieții
Am explica ce ma determinat la cererile de lot.
Deci, imaginați-vă că este un document, el secțiunea de tabel. În coloana „Eroare“ indica dacă există o eroare la completarea documentului. În coloana „TekstOshibki“ poate fi una sau câteva fraze de texte de eroare. Tipurile de erori conținute în propunerile sunt cunoscute în prealabil.
Deci, înregistrăm o listă cu toate erorile din tabelul KodyOshibok - aceasta conține codul de eroare și subșir căutare.
Apoi, conectați tabelele de coduri de eroare.
Obținem pentru fiecare linie de una, două sau mai multe erori. pentru că într-o singură linie poate fi câteva bug-uri.
Dar eroarea nu poate fi detectată, de exemplu, flag „Eroare“ este în valoare, iar textul de eroare nu ne-a dat codul de eroare.
Faceți o stânga se alăture, în cazul în care codul de eroare au un NULL, oferind un cod de eroare „Altă eroare.“
Dar problema a fost că codul de eroare a fost de aproximativ 200, astfel încât stânga join lucrat pentru o lungă perioadă de timp. A fost necesar să-l înlocuiască cu o conexiune internă care a zburat. Dar a pierdut o linie pentru care a fost găsit eroarea. N-am fost în stare să dau seama cum de a trage sforile în rezultat.
Solicitarea scrisă pentru aranjamentul de sistem, și anume Nu există tabele sau tabele temporare, valorile nu pot fi utilizate, în principiu. Aici și utile interogări lot.
Tocmai am unit încă o dată toate rândurile cu erori toate rândurile pentru care au fost constatate erori, și a adăugat toate același tip de greșeli, „Altă eroare.“