sort index1gfc

4
Comenzi pentru sortarea Introducerea înregistrărilor în tabele se face de regulă, fără a ţine seama de anumite criterii de ordonare. Consultarea lor însă are în vedere anumite cerinţe informaţionale, în care scop, înainte de exploatare, înregistrările din tabele sunt ordonate după diferite criterii. Comanda SORT Sintaxa comenzii: SORT TO <nume-tabelă> ON <câmpl>[/ A| /D] [ /C] [,<câmp2> [/ A| /D] t/C]...] [ASCENDING | DESCENDING] [ FIELDS <listă câmpuri>] [<domeniu>] [FOR <conditie>] [WHILE <conditie>] [NOOPTIMIZE] Sortează înregistrările din tabela sursă după anumite câmpuri cheie şi creează o nouă tabelă având acelaşi conţinut, dar cu o altă ordine de memorare a înregistrărilor. Tabela destinaţie este precizată prin <nume-tabela> Sortarea se poate realiza după unul sau mai multe câmpuri <câmpl>, <câmp2>, ..., desemnate drept chei de sortare. Prioritatea cheilor de sortare este dată de ordinea lor în comandă. Sortarea se realizează implicit crescător, dacă nu sau făcut specificaţiile /D dau DESCENDING. Opţiunile /A sau /D se aplică numai unui câmp. Opţiunile ASCENDING sau DESCENDING afectează toate câmpurile pentru care nu s-a specificat /A sau /D. Opţiunea /C arată că SORT nu face diferenţă între literele mari şi _cele mari.Se poate combina /C cu /A sau cu /D. Dacă se utilizează două opţiuni se utilizează un singur caracter „/ " (de exemplu /DC). Simbolurile /A sau /D au prioritate faţă de ASCENDING sau DESCENDING. Clauza FIELDS -distă câmpuri> selectează anumite câmpuri, din tabela sursă pentru tabela destinaţie. Clauzele <domeniu>. FOR <condiţie>, WHILE <condiţie> au ca efect o sortare selectivă a înregistrărilor în funcţie de domeniul sau condiţiile precizate. în acest caz numai o parte a înregistrărilor din tabela sursă se memorează în tabela destinaţie. Comanda SORT nu sortează după câmpurile de tip logic sau memo. Exemple: a) Sortare crescătoare după un câmp: USE PRODUSE SORT ON DENPRODUS TO DPRODUSE USE DPRODUSE LIST b) Sortare crescătoare după mai multe câmpuri: USE PERSONAL SORT ON LOCM, FUNCŢIE, MARCA TO PERSORT USE PERSORT LIST c) Sortare descrescătoare fără a se face diferenţă între literele mari şi mici: USE PRODUSE SORT ON DENPRODUS /DC TO DPRODUSE d) Sortare crescătoare pe un câmp şi descrescătoare pe alt câmp: USE PRODUSE SORT ON CODPRODUS/A, PRETPROD/D TO FPRODUS e) Sortare cu selecţie de câmpuri din tabela sursă: USE PRODUSE SORT TO SPRODUSE ON CODPRODUS; FIELDS CODPRODUS, PRETPROD'" 1

Upload: ionut-adrian

Post on 21-Nov-2015

217 views

Category:

Documents


0 download

DESCRIPTION

hfg

TRANSCRIPT

Comenzi pentru sortarea Introducerea nregistrrilor n tabele se face de regul, fr a ine seama de anumite criterii de ordonare. Consultarea lor ns are n vedere anumite cerine informaionale, n care scop, nainte de exploatare, nregistrrile din tabele sunt ordonate dup diferite criterii.Comanda SORTSintaxa comenzii:SORT TO ON [/ A| /D] [ /C] [, [/ A| /D] t/C]...] [ASCENDING | DESCENDING] [ FIELDS ] [] [FOR ] [WHILE ] [NOOPTIMIZE]Sorteaz nregistrrile din tabela surs dup anumite cmpuri cheie i creeaz o nou tabel avnd acelai coninut, dar cu o alt ordine de memorare a nregistrrilor. Tabela destinaie este precizat prin Sortarea se poate realiza dup unul sau mai multe cmpuri , , ..., desemnate drept chei de sortare. Prioritatea cheilor de sortare este dat de ordinea lor n comand. Sortarea se realizeaz implicit cresctor, dac nu sau fcut specificaiile /D dau DESCENDING. Opiunile /A sau /D se aplic numai unui cmp. Opiunile ASCENDING sau DESCENDING afecteaz toate cmpurile pentru care nu s-a specificat /A sau /D. Opiunea /C arat c SORT nu face diferen ntre literele mari i _cele mari.Se poate combina /C cu /A sau cu /D. Dac se utilizeaz dou opiuni se utilizeaz un singur caracter / " (de exemplu /DC). Simbolurile /A sau /D au prioritate fa de ASCENDING sau DESCENDING. Clauza FIELDS -dist cmpuri> selecteaz anumite cmpuri, din tabela surs pentru tabela destinaie. Clauzele . FOR , WHILE au ca efect o sortare selectiv a nregistrrilor n funcie de domeniul sau condiiile precizate. n acest caz numai o parte a nregistrrilor din tabela surs se memoreaz n tabela destinaie.Comanda SORT nu sorteaz dup cmpurile de tip logic sau memo.Exemple:a) Sortare cresctoare dup un cmp:USE PRODUSESORT ON DENPRODUS TO DPRODUSEUSE DPRODUSELISTb)Sortare cresctoare dup mai multe cmpuri:USE PERSONALSORT ON LOCM, FUNCIE, MARCA TO PERSORTUSE PERSORTLISTc)Sortare descresctoare fr a se face diferen ntre literele mari i mici:USE PRODUSESORT ON DENPRODUS /DC TO DPRODUSEd)Sortare cresctoare pe un cmp i descresctoare pe alt cmp:USE PRODUSESORT ON CODPRODUS/A, PRETPROD/D TO FPRODUSe)Sortare cu selecie de cmpuri din tabela surs:USE PRODUSESORT TO SPRODUSE ON CODPRODUS;FIELDS CODPRODUS, PRETPROD'"USE SPRODUSELISTf)Sortare cu selecie de nregistrri din tabela surs:USE PRODUSESORT TO SPRODUSE ON CODPRODUS FOR PRETPROD>=3 0000Indexarea tabelelor de dateComanda INDEXSintaxa comenzii:INDEX ON TO |TAG [OF] [FOR][COMPACT][ASCENDING] [DESCENDING] [UNIQUE] [ADDITIVE]Creeaz fiiere index asociate tabelelor cu date. Fiierul index va memora n ordine cresctoare sau descresctoare valoarea luat de cheia de indexare, nregistrrile tabelei rmn aa cum au fost introduse.Tipul de dat al expresiei cheie de indexare determin ordinea nregistrrilor : numeric (pentru tipul numeric), alfabetic (pentru tipul ir de caractere), cronologic (pentru tipul dat).Semnificia notaiilor din sintax este : cuprinde unul sau mai multe cmpuri din tabel. Sunt admise campurile de tip numeric, caracter ,data calendaristic. Lungimea total a expresiei cheie nu poate depi 100 caractere. este numele fiierului index creat. TAG [OF ], permite crearea unui fiier cu extensia CDX; aceasta poate s conin mai multe repere (intrri). Fiierele cu extensia .CDX, pot fi de exploatare, care se deschid automat la activarea tabelei (ce are acelai nume cu aceasta) i denumite de utilizator n clauza OF