Centar za edukaciju-BiH


Stranice (4):1,2,3,4

#1 16.09.2013 19:15
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:stored procedure Kako?
Me interesira kako se pravat stored procedure i koja e nivnata namena ,dali moze da se kombiniraat poveke proceduri i ako moze kako se pravi toa ?
pozdrav
↑  ↓

#2 16.09.2013 20:44
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: stored procedure Kako?
Mogu ti opisati SQL 2000 kako doci do stored procedura.
Slicno je i u vcim verzijama.
Otvoris Enterprise manager.
Odaberes svoju bazu i na njoj imas opciju stored procedure te odaberes New.
Otvori ti se prozor za pisanje procedure.
Imas i drugih alata za pisanje stored procedure.
Evo primjer jedne procedure:
PreuzmiIzvorni kôd (SQL):
  1. CREATE PROCEDURE DijagramUporedni  @KUPACID1 VARCHAR(15),@TIPUZORKA1 VARCHAR(1), @RudnikID1 VARCHAR(15), @AsortimanID1 VARCHAR(15), @DATUM1 AS DATETIME,  @DATUM2 AS DATETIME
  2. AS
  3.  
  4.  
  5. SELECT { fn MONTH(Datum) } AS Mjesec, { fn YEAR(Datum) } AS Godina, SUM(Tone) AS TonaUK, SUM(Tone * DTV)  AS ToplinaUK
  6. FROM Flasice
  7. WHERE  (KUPACID=@KUPACID1) AND (REDOVNI=@TIPUZORKA1) AND (RudnikID LIKE @RudnikID1) AND (AsortimanID LIKE @AsortimanID1) AND  (Datum BETWEEN @DATUM1 AND @DATUM2)
  8. GROUP BY { fn MONTH(Datum) }, { fn YEAR(Datum) }
  9. GO

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 17.09.2013 10:35
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: stored procedure Kako?
moze za 2000 jas gledav nesto ama ne mi e bas jasno imam sql2000 i bazi vo nego no ne mi se jasni ovie procedurive ima tamu i funkcii i onie Views kako se koristat i kako se kombiniraa megu sebe.
Moze malu pocetnicki osnovni raboti za da mozam da pocnam od nekade
↑  ↓

#4 17.09.2013 16:12
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: stored procedure Kako?
Neznam jesi li naisao na ovo.
Ako nisi mozda je najbolje da ovo proucis.

Prilozi:
Informacije o tipu datoteke za:pdf  storedprocedure.pdf
Preuzimanja:2327
Velicina datoteke:2.06 MB


Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 17.09.2013 16:48
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: stored procedure Kako?
Evo ima i ovo.
Nadam se d ces se snaci.
Kada dodje zidar vjerujem da ce ti i on dati neke smjernice jer on je dobar znalac MsSql-a.

Prilozi:
Informacije o tipu datoteke za:pdf  vjezbe.pdf
Preuzimanja:505
Velicina datoteke:506.20 KB


Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#6 17.09.2013 19:39
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: stored procedure Kako?
fala zxz ke razgledam ako zaglavam ke pisam
↑  ↓

#7 18.09.2013 15:15
zidar Van mreze
Moderator
Registrovan od:03.02.2009
Postovi:27


Predmet:Re: stored procedure Kako?
Views = prakticno isto sto i saved queries u Access. Razlika: uglavnom nije potrebno pisati view koji poziva drugi view, jer se SQL u MS SQL razlikuje od onog sto ima Access - mnogo je mocniji.

Stored Procedures = programi pisani u SQL jeziku koji podrzava tvoj sistem. Prihvataju parametre i mogu da rade osim vracanja podataka i izmenu (INSERT, UPDATE) pa cak i zimene struture baze i privilegija (CREATE TABLE, ALTER TABLE, GRANT)

Ako je Access front ENd, a MS SQL je back end, onda veliki broj stvari koje si radio u Access event procedurama se seli u SQL stored procedure. Na primer, ako hocesda kad se unese podatak u jednu tabelu, da se isti taj unese i u neku drugu tabelu, to sve mozes da uradis u stored proceduri, koju pozoves iz Accesa. Ako treba neko komplikovano pretrazivanje, Access query bice suvise spor - opet koristis stored proceduru koja to mnogo brze radi. Stored procedure pomazu u programiranju front enda. Umesto da kontrolu podataka vrsis na front endu, to radi stored procedura i svi programi koji menjaju podatke, ako pozivaju tvoju proceduru, radice na potpuno isti nacin i pisaces manje koda u Accesus - svi ce programi da pozivaju istu proceduru. Problem je ako ne kazes programerima da kosrite proceduru, ili zaborave da to urade.

Imas jednu specijalnu kalsu stored procedures, koja se zove TRIGGERS. Trigeri su stored procedures koje se zakace na tabele (kao event procedure na Access formama) i oni se izvrsavaju automatski kad se desi nad tabelmo neki od dogadjaja INSERT, UPDATE, DELETE. Pri tome trigger ne zna niti ga inetersuje kako se desio dogadjaj - direktnom naredbom, kroz Access formu ili kroz neku stored proceduru - trigger jedino zna da neko pokusava da promeni/obrise/doda podatke i triger ce svoj posao da odradi automatski. Trigeri se koriste za ugradjivanje poslovnih pravila i ogranicenja koje nije moguce postici na drugi nacin. Na primer, u tabeli [Izlaz] ne zelis da prihvatis unos ili izmenu ukoliko bi to dovelo do negativnog stanja. Ovo zahteva da pri svakom pokusaju promene podataka u tabeli Izlaz proveris kakvo bi bilo stanje posle te izmene i ukoliko je stanje negativno, triger jednstavno odbije promenu. Ovo je nesto sto bi pisao na BeforeUpdate za formu. Ako to pravilo stavis u trigger, onda ne moras o tome da mislis kad programiras, ni ti ni neki drugi programer koji bi mozda zaboravio da to uradi na forminom Before Update dogadjaju. Triger moze d apoziva stored procedures - i sad dobijas puniju sliku o tome sta se desava.

Pored stored procedures i triggers, imas u verzijama MS SQL 2005 pa naice i USER DEFINED FUNCTIONS. Funkcije mogu biti skalarne - posaljes parameter i funkcija vrati jednu vrednost, zatim mogu bit u stvari parametrizvani views - posaljes parametar i izvrsis se view s a WHERE @Parametar + <expression>. Imas i trecu vrstu funkcija koje sus lozenije od view-a, i isto tako vracaju tabele. Ovo ****lje nego stored procedures, jer tabele koje vracaju funkcije mozes da koristsi u SELECT izrazima unutar MS SQL, ali i iz Accesa, kroz pass-thru query.

Jedino sta treba da izbegavas jesy kursori (CURSORS) a to je nazalost suprotno onome sto pise u PDF koji je Zonic prilozio za TeraBite bazu.. Programerima je nazalost mnogo lakse da razumeju kako kursor radi (ili im se bar cini da razumeju, sto nije uvek sucaj), pa proizvedu veoma sub-optimalna resenja. Rad sa SQL procedurama i trigerima je vise SQL projektvanje i relaciona teorija, nego sto je programiranje. Ako mislsi samo da prneses programersko znanje sa Access nivoa na SQL, nije dobro. ZNanje o SQL i relacionim bazama koje sis tekao kroz rad sa Accesom nije dovoljno d abi se SQL koristio punom snagom, a ponekd je cak i stetno, jer te dosadasnje iskustvo navodi d au novom okruzenju radis stare stvari (ka na primer CURSORs). Znaci, nadji sto vise knjiga o SQL, u stvari o relacionoj teoriji jer ces morati da promenis nacin razmisljanja da bi nesto uopste napravio sa SQL.

Srecan rad :-)
↑  ↓

#8 19.09.2013 11:45
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: stored procedure Kako?
Fala Zidar na objasnuvajneto jas ne se imam baveno mnogu so SQL osven sto imam nekolku bazi vrzani preku ODBC drajveri no sega vo mojov slucaj imam potreba od nesto malku pomokno od msAccess baza ili samo baza na SQL server, sega ima eden mal problem sto rabotam na VB6 platforma Cristal Report 8.5 i SQL2000 toa e ona sto mi nalagaat uslovite na rabota ,neznam kolku ke uspeam da se snajdam zosto ovde ima relativno novi raboti za mene najmnogu okolu SQL i Cristl Reportot i sve toa treba dobro da se osmisli i skocka za vo idnina da moze da se premini na ponova platforma a da nema mnogu izmeni.Moj predlog bese da koristime VB.NET i SQL2005 za pocetok no ima postari programeri koi ne sakat da gledaat podaleku od NOSOT i da naucat nesto novo tie imaat zaglaveno so vb6 i msaccess i me ubeduvaat deka vo access baza ke stavat preku 2 miljoni podatoci za edna godina i deka toa ke raboti besprekorno.
Sega moram sam da rabotam bidejke site se ubedeni deka toj sistem e vo red no jas ne veruvam i moram da priremam pojaka platforma za da imame nekakva bezbednost.

No da napomenam deka ne se osekam ic isplaseno bidejki pozadi mene ja imam najdobrata podrska ICENTAR i kolegite od forumov

FALA VI NA SITE
↑  ↓

#9 19.09.2013 18:43
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: stored procedure Kako?
Evo primjer poziva cristal reporta.
E sad neznam dali si ga pravio kada?
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub Command1_Click()
  2. Me.CrystalReport1.SQLQuery = "SELECT * FROM Tabela;"
  3. Me.CrystalReport1.RetrieveDataFiles
  4. Me.CrystalReport1.PrintReport
  5. End Sub

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 19.09.2013 22:19
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: stored procedure Kako?
nemam raboteno no jas naraviv edna store procedura i na osnova na taa procedura napraviv eden crystal report koj go povikuvam vaka

PreuzmiIzvorni kôd (Visual Basic):
  1.    With CrystalReport1
  2.        .Connect = cn
  3.         '.DataSource =
  4.        .StoredProcParam(0) = krit
  5.         .ReportFileName = App.Path & "\" & "rptArtikli.rpt"
  6.         .Destination = crptToWindow
  7.         .WindowLeft = 0
  8.         .WindowTop = 0
  9.         .WindowWidth = Screen.Width
  10.         .WindowHeight = Screen.Height
  11.         .WindowState = crptMaximized
  12.         .Action = 1
  13.     End With
  14.    
mislam deka e vo red vaka
↑  ↓

Stranice (4):1,2,3,4


Sva vremena su GMT +01:00. Trenutno vrijeme: 10: 11 pm.