Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » MsSQL » stored procedure Kako?
zxz 27.09.2013 15:32
Predmet:Re: stored procedure Kako?

Posto se nisam mogao snaci sa tvojim tabelama a i prazne su. nisam mogao napraviti rekapitulaciju ali pretpostavljam da ti ovako nesto slicno treba.
Uzeo sam tabele rekapitulacija i rekapitulacija detalji bez query-a i izracunao iznos.
Sumu pretpostavljam da znas.
Uvijek me iznenadis jer znas daleko vise nego sto ja pretpostavim
Sretan rad ili ucenje kako volis.
Prilozi:
faktura.zip (Velicina datoteke:1.81 KB)

zidar 27.09.2013 16:18
Predmet:Re: stored procedure Kako?

Citat:
no ovie raboti sto gi baram gi imam koristeno vo accesot i sega baram kako ovi funkcii sto gi imam vo starite aplikcii da gi zamenam odnosno da gi importiram vo SQL.
Zatoa postaviv primer i cekam da dobijam nekakov predlog.
Neznam sega dali vo SQL Serverot moram sve da resavam so Tabeli , jas mislev deka vo funkcii vo SQL serverot moze da se pisuva nekoj slicen cod kako vo VBA ta .
Ako samo prepises kveriaj iz Accesa u SQL - nije dobro. Ako sve funkcije koje si koristio u Accesu samo prenses u SQL, opet nije dobro. U stvar, nije DOVOLJNO dobro. U SQL, od svih tipva funkcija najmanje treba koristiti skalrne funkcije. Zasto? Zato sto strahovito usporavaju izvrsenja kverija. Dok s eigras sa dva-tri rekorda, pa i 100-200, sve je OK. Kad budes imao 100,000 osetcies razliku, a atda mzoe biti kasno da se ispravlja. Ako nesto posatvi snaopako na pocetku, tako ce ostati za sva vremana.

Pgledaj zakacenu skript. Napravio sam ti tabelu koja zamenjuje funkciju dbo.DDV. Napisao sam ti kod koji ne trazi ni fumkciju [PresmetkaDDV], nego koristi CASE WNEH THEN END struckturu da to isto izracuna u kveriju direktno. Napiso sma tio kako treba da izgleda tvoja SP, a napisao sam ti i TAble VAlued INLINE funkciju, koja vraca isti rezultat kao store dprocedura, a poziva se kao VIEW sa parametrima.

Najgore sto mozes d auradi za ucenje SQL je da sva resenja kopiras iz Accesa. Cilj je da naucis SQL dovoljno dobro da prelaz sa Accewss-SQL kombinacije na VB-SQL-Crystal zaista pocne bolje d aradi. A to moze da se postigne ako do kraja iskoristis SQL mogucnosti. Ako samo prekopiras Access resenja dobijes upravo to - Access resenja upakovana u VB-Crystal papir, koje sporije radi i teze je za odrzavanje.

Necu dalje da se mesam. Ako mislis da je moj savet razuman, nema potrebe da s emesam, ako ne mislis da prihvatis, tek onda nema smisla da se mesm dalje.

Srecan rad
:-)
Prilozi:
ZamenaSkalarnihFunkcijaTAbelarnim.rar (Velicina datoteke:1.66 KB)
ZamenaSkalarnihFunkcijaTAbelarnim.txt (Velicina datoteke:8.33 KB)

Gjoreski 27.09.2013 19:23
Predmet:Re: stored procedure Kako?

Fala ZXZ ke pogledam sega imam malku vreme no ke najdam za ovaa rabota.
Za ZIDAR: prvo sakam da se zablagodaram za tvoite sugestii bidejki so ogled na iskustvoto sto go imas vo ovaa problematika (za razlika od mene ) koe e mnogu pogolemo i podobro ispeceno sekoja tvoja zabeleska i ispravka e dobredojdena i ke ja prifatam bez nikakov komentar no sakam da znam tocno sto pravam i zosto e toa taka bidejki koga ke go ostavam proektot na nekoj drug da go odzava da mozam da mu objasnam kako i zosto e toa taka napraveno. Jas ne sakam da gi pravam rabotite samo kolku da se napraveni sve treba da ima svoja smisla i logika.
A ovie resenija sto gi baram i gi sporeduvam so moite aplikacii od ACCESS ne znaci deka se dobri no taka mi bilo polesno i nekoi raboti taka sum gi resaval.
Imam zabelezano deka nekoi od resenijata ne se dobri i vo ACCESS i sum gi zamenal so drugo podobro resenie.
Zatoa bi sakal da ostnes na temava i da mi pomognis kolku za pocetok da ne go iskrivam patot tuku da trgnam po prava linija bidejki ako nema dobar koren drvoto malo vetre ke go srusi.
Isto i ZXZ bidejki negovoto iskustvo vo VB e dosta golemo.

Ovaj forum e edon od najdobrite sto gi imam sretnato golema steta sto golem del doagaat tuka samo za momentalno da si go resat problemot i gi snemuva. Nekoi od nimi nikogas ne se obidele da resat nekoj problem a postavile milion problemi.

Jas nikogas ne bev programer i ne se bavev so toa no taka ispadaa rabotite i eve me tamu kade sto sum i se bavam so toa sto nikogas ne sum ni pretpostavil deka ke se bavam.
I za toa najzasluzni se lugeto od ovaj forum (ICENTAR)
Vi blagodaram na site.

Gjoreski 27.09.2013 19:41
Predmet:Re: stored procedure Kako?

I uste edna rabota sto nema vrska so SQL ot no me interesira kako vie kako poiskusni go resavate.
Dali vo tabelite cuvate CENI na produkti so presmetan DDV ( ili PDV kaj vas ) ili gi cuvate bez DDV ili mozebi i dvete vrednosti gi cuvate.
Jas vo osnova rabotam so ceni so veke presmetan DDV no sakam da go znam vaseto mislejne.

zxz 28.09.2013 18:05
Predmet:Re: stored procedure Kako?

U tabeli artikli imam DDV i to samo u procentima napr 20 tj 20%.
U tabelama transakcija opet imam polje DDV i prenosim ovu vrijednost 20.
Nikada ne zapisujem iznos DDV-a.

Gjoreski 28.09.2013 23:04
Predmet:Re: stored procedure Kako?

I kaj mene e taka imam pole ddv i pole Cene me interesira dali ova cena go sodrzi ddv to vo nea ili e bez dvto .

zxz 29.09.2013 08:37
Predmet:Re: stored procedure Kako?

Dali je cijena sa DDV zavisi od kupca app.
I ja imam obje variante, u jednoj je cijena sa DDV a u drugoj cijena Bez DDV.

zidar 30.09.2013 19:41
Predmet:Re: stored procedure Kako?

Sad ja da pitam sto ne znam:

IF @DDVA = 24 RETURN 1.24;

Sta je DDVA , a sta je ono 1.24 koje se vraca?

Gjoreski 01.10.2013 17:11
Predmet:Re: stored procedure Kako?

Ova 1.24 e koeficient za presmetka na DDV odnosno ne primer ako cenata so DDV e 100 togas
100/1.18=84.745762
No jas malku razmisluvav kako ponataka i mislam deka najdobro ke bide da napravam tabela tblTarifi
i vo nea da stavam sve sto mi treba okolu ova.

zidar 02.10.2013 14:46
Predmet:Re: stored procedure Kako?

Treba o jos jednoj stvari da razmislis. Kveriji koje pises lice strasno na Access kverije. To moze bit rezultat prostog prepisivanja postojecih kverija, ili koriscenje Access grafickog kveri dizajnera sa linkovanim tabelama. Ni jedno ni drugo nije dobar nacin. SQL za MS SQL je malkice drugaciji nego Access SQL.

Treba da pokusas da pises MS SQL kverije u SMS (Sql Server management Studio). Treba da pokusas da naucis i advanced query tehnike, da bi imao koristi od MS SQL. MS SQL kao back end je potpuno druga prica, sto se pre oslobodis Access nacina razmisljanja, bice bolje. U stvari, treba da zaboravis na programerska resenja i resavas stvari prvo na nivou SQL servera, a da ti programski kod u VB ili VBA samo poziva gotove stvari sa MS SQL (views, stored procedures, functions).

Dobro si uvideo da ****lje imati tabelu tblTarifa nego hard-kodirati tu tabelu u telo funkcije, u tom smislu se razmislja. User defined skalarne SQL funkcije takodje zaboravi ako mozes, to ti samo otezava da se oslobodis programerskog razmisljanja kad radis sa MS SQL.

Ako s eMS SQL ne koristi pravilno (relacion, ne-programersko razmisljanje) onda najcesce resenja koja se dobiju su mnogo gora nego ista takva resenja koja su sasvim lepo radila u sa Access back endom. Front end nije vazan, problemi se stvaraju i resavaju na back endu.