[ stex @ 17.01.2012. 11:41 ] @
Da li je moguce kreirati view sa nekom definisanom promenjivom. Na primer:

CREATE VIEW test AS SET @a=0,@b=0; SELECT @a,@b;
[ bogdan.kecman @ 17.01.2012. 13:13 ] @
kako bi to onda koristio ?
[ stex @ 17.01.2012. 13:41 ] @
Imam malo komplikovaniji upit koji sam mogao jedino da resim koristeci promenjive (SET @a=0 i sl). I hocu da od tog upita kreiram view pa da iz aplikacije samo pozovem taj view. Tako da bih iz aplikacije samo imao "SELECT polje1,polje2 FROM test". Upit radi. Ali prijavljuje mi gresku kad hocu da kreiram VIEW-a i to bas kod komande SET.
[ mret @ 17.01.2012. 14:06 ] @
Možda ti je pametnije da onda kreiras neku funckiju na serveru (ako ti to setup okruženja dozvoljava), nego da ovako budžiš pogled.

Pretpostavljam da bi to moglo da izgleda otprilike ovako:

create function es_test(p_nekiparam int) returns integer
begin
-- neki komplikovani kod ide ovde

return @broj1;
end;


kada središ funkciju pozoveš je sa:
select es_test(1);
[ bogdan.kecman @ 17.01.2012. 14:15 ] @
ne mozes da turis nikako set u view... ako napises tacno sta pokusavas mozda moze da se osmisli neki drugi nacin da resis problem al... ovako napamet nece da ide
[ stex @ 19.01.2012. 09:49 ] @
U pitanju je kartica artikla. Napravio sam jedan upit koji mi na osnovu kolicine, vrednosti i da li je ulaz ili izlaz pravi celu karticu (ulaz, izlaz, vrednost, prosecna cena, zaliha itd). Da bih dobio sve sto mi treba moram iz predhodnog reda da uzmem dva podatka (prosecnu cenu i zalihu) i da ih obracunam zajedno sa novim redom. Obracun takodje zavisi da li je u pitanju ulaz ili izlaz. Ja sam sve to napravio ali tako sto sam koristio SET koji eto ne moze da ide u VIEW. Sto bi mi bilo lakse u slucaju da mi negde zatreba taj sql. Da li ima neki drugi nacin da iz predhodnog reda povucem dva podatka i uvrstim u novi red, a da ne koristim select u selectu?
[ Shinhan @ 19.01.2012. 09:51 ] @
Ne vidim zašto moraš varijable da koristiš. Da li si probao sa IF(ulaziliizlaz, "ulaz", "izlaz") ?

Pomoglo bi ako bi postojeći SQL pastovao ovde da razmotrimo. A ni CREATE TABLE za te tabele ne bi bio na odmet...