HackStuff...
Aici veti gasi o gama larga de metode de hack atat pe Windows cat si pe platforme Linux/Unix , programe , tutoriale etc. In acelasi timp veti avea si asistenta help . Precizam ca tot ce se gaseste pe acest site este doar in scop de dezvoltare iar voi va asumati intreaga raspundere pt actiunile savarsite.ENJoY --- by andreony ---
Lista Forumurilor Pe Tematici
HackStuff... | Reguli | Inregistrare | Login

POZE HACKSTUFF...

Nu sunteti logat.
Nou pe simpatie:
amy70
Femeie
24 ani
Bucuresti
cauta Barbat
31 - 59 ani
HackStuff... / Baze de date / BazeDate3 Moderat de lFx
Autor
Mesaj Pagini: 1
andreony
[admin]

Din: bucharest
Inregistrat: acum 20 ani
Postari: 1062
Baze de date - 3

SQL

Functie conversie string catre number: chr(). Functie ce returneaza data sau data+ora curenta: date() si datetime()
Exemplu: select "Simbolul "+simb+"avand volumul"+str(vol) from cotatii where data_c=date()

Variatia neta si procentuala a pretului fata de sedinta anterioara (tema de la seminarul 2):

select a.simb,a.pret pret_azi,i.pret pret_ieri,a.pret-i.pret net,a.pret*100/i.pret-100 procn from cotatii a;
inner join cotatii i on a.simb=i.simb where i.data_cselect max(c.data_c) from cotatii c;
where c.data_c<>date() and c.simb=i.simb) and a.data_c=date()

Sa se calculeze suma, media volumului de tranzactionare pe fiecare simbol.

Select simb,count(vol) nr,sum(vol) suma,avg(vol) medie from cotatii group by simb

Sa se calculeze suma, media volumului de tranzactionare pentru cazurile in care volumul a fost mai mare ca 3000.

Select simb,count(vol) nr,sum(vol) suma,avg(vol) medie from cotatii where vol>3000 group by simb

Sa se afiseze suma, media volumului de tranzactionare pentru cazurile in care media a fost mai mare ca 7500.

Select simb,count(vol) nr,sum(vol) suma,avg(vol) medie from cotatii group by simb having medie>7500

ATENTIE: Clauza where filtreaza inregistrarile tabelei(lor) initiale iar having filtreaza rezultatul obtinut dupa grupare.

Limbajul FOX

In FoXPro fiecare tabela se deschide intr-o zona de lucru denumita A, B, C… sau 1, 2, …
EX:
Sa se deschida tabela emitenti In zona A si cotatii facturi In zona B.
SELECT A
USE emitenti
SELECT B
USE cotatii
SELECT A
brow
SELECT B
Brow




Sa presupunem ca in cotatii si emitenti avem urmatoarele inregistrari:


Instructiuni


Instructiune    Efect      
MODIFY STRUCTURE    Modificarea structurii logice a unei tabele      
DISPLAY STRUCTURE  sau LIST STRUCTURE    Vizualizarea structurii logice      
Close tables
Use cotatii
Go top    Se plaseaza indicatorul la inceputul tabelei cotatii      
?dbf()    Afiseaza tabela deschisa: cotatii      
Go bottom    Se plaseaza indicatorul la sfarsitul tabelei      
Skip +2    Se se deplaseaza peste 2 inregistrari inainte      
Skip -2    Se se deplaseaza peste 2 inregistrari inapoi      
Go top
?nume,data_c    TLV  12/10/05      
Go 3
?simb,data_c    TLV   01/23/05      
Display sau
list next 1    Se afiseaza inregistrarea curenta
TLV   01/23/05  7000   1.14      
Display all
List
Brow    Se afiseaza intreaga tabela, in diferite formate      
Go top
?"Simbolul "+simb+" are pretul"+str(pret)    Simbolul TLV are pretul 1
Se face rotunjire.      
Go top
?"Simbolul "+simb+" are pretul"+str(pret,10,4)    Simbolul TLV are pretul 1.1500
In acest caz se specifica lungimea maxima a sirului si cat se se aloce pentru partea zecimala.      
go bottom
?simb,data_c,recno(),bof(),eof()    SNP  01/03/05  4  .F.  .F.
Recno() – returneaza nr inregistrarii curente
Eof()- returneaza .T. daca este sfarsitul tabelei si .F. altfel
Bof()- returneaza .T. daca este inceputul tabelei si .F. altfel      
?reccount()    Numarul inregistrarilor din tabela curenta: 4      
Go bottom
Skip
?simb,data_c,recno(),bof(),eof()          /  /     5  .F.  .T.      
Index on simb+dtoc(data_c) tag cota_pk unique
set order to cota_pk
list
set order to    Se construieste un index care nu accepta duplicate pe simb si data_c. Se activeaza indexul creat si se afiseaza inregistrarile sortate. Dupa afisare se dezactiveaza indexul.      
go top
list while pret>1.14    Afiseaza cotatiile care au pretul mai mare ca 1.14      
go top
list next 2 while pret>1.14    Afiseaza cotatiile care au pretul mai mare ca 1.14 din primele doua inregistrari      
Close tables
Use emitenti
Count for cap_soc>3000 to nr
?"numarul de emitenti avand capitatlul social mai mare decat 3000 este: "+str(nr)    Afisza numarul emitentilor care au capitalul social mai mare decat 3000      
set talk off
sum cap_soc to capital
?[suma capitalulilor sociale este: ],capital    Afiseaza suma capitalulilor sociale
Se va folosi set talk off daca nu se doreste sa se afiseze suma de doua ori.      
Average cap_soc for simb=[T] to medie
?[media capitalulilor sociale este: ],medie    Media capitalulilor sociale pentru societatile ce incep cu T      
Average cap_soc to medie
List for cap_soc>medie    Emitentii ce au capitalul social mai mare decat media      
Use emitenti
calculate min(cap_soc),sum(cap_soc),avg(cap_soc) to minm,suma,medie
?minm,suma,medie    Afiseaza minimul, suma si media capitalulilor sociale ale emitentilor      
Use cotatii
Replace for simb=[TLV] pret with pret*1.2    Se mareste cu 20% cotatiile pentru TLV      
use cotatii
Delete for vol<8000
brow
pack sau recall all
brow    Se sterg cotatiile cu volum mai mic decat 8000. Initial doar se marcheaza pentru stergere. Pack: stergere fizica. Recall all: se readuc inregistrarile care nu au fost sterse fizic.      
Zap sau
Delete all
Pack    Se sterg fizic toate inregistrarile din tabela.      
Use cotatii
append from emitenti fields simb    Se adauga la sfaristul tabelei cotatii simbolurile din emitenti


_______________________________________
------ eVoLuTiOn ------

pus acum 20 ani
   
Pagini: 1  

Mergi la