[ MatezYU @ 27.11.2006. 12:38 ] @
Kako mogu cene u celoj bazi da podelim sa 100 preko sql upita? update fond set cena=cena/100 ovo ne radi? Jel ima drugih resenja? |
[ MatezYU @ 27.11.2006. 12:38 ] @
[ Zed Mc Jack @ 28.11.2006. 10:37 ] @
Vidim da nije baš neka tuča ko će pre da odgovori, pa onda evo ja ću... ;-)
Ne znam u čemu radiš, ali u Visual FoxPro-u to može bar na dva načina. Prvi je mnogo jednostavniji 1. REPLACE cena WITH cena/100 eventualno dodaš FOR uslov za uslovnu zamenu samo određenih slogova 2. napraviš petlju SCAN-ENDSCAN i za svaki slog prvo uvučeš vrednost cene u promenjivu i onda uradiš onaj tvoj SQL UPDATE. Code: SCAN lnPrKey=ID_imeTabele x=cena UPDATE imeTabele SET cena=x/100 WHERE ID_imeTabele=lnPrKey ENDSCAN Petlja SCAN-ENDSCAN će da protrči kroz celu tabelu-kursor, ili kroz samo deo ako joj dodaš FOR uslov 3. Evo i treći način mi upravo pade na glavu ![]() Dodaš privremenu kolonu(polje) cena2 i onda kroz 2 UPDATE SQL-a ažuriraš prvo privremeno polje, a zatim ono koje se menja Code: UPDATE fond SET cena2=cena/100 update fond SET cena=cena2 i onda izbaciš privremenu kolonu HTH [ MatezYU @ 28.11.2006. 12:55 ] @
Na zalost nisam uspeo ni na jedan nacin da odradim.. Ne prijavi gresku ali nece da odradi. Mogao bi u principu da napisem mali programcic koji ce iscitati vrednost iz baze, prebaciti ga u FLOAT i onda podeliti sa deset pa onda UPDATE-ovati u bazu novu vrednost ali me interesuje da li ima neki laksi nacin preko SQL upita..
Sigurno ima resenja [ Dejan Topalovic @ 28.11.2006. 14:30 ] @
Koja baza je u pitanju? Da li dobijes ikakvu gresku?
[ chachka @ 28.11.2006. 18:24 ] @
I kog tipa podataka je atribut 'cena'?
[ Zed Mc Jack @ 29.11.2006. 10:09 ] @
Uspeo sam da pronađem još jedan način, ali mi je za to trebao VFP9, mada obično radim u VFP8.
prvo selektom izvučeš stvari kakve treba da budu Code: SELECT ID_imeTabele AS ID_NEW, cena/100 AS cena2 FROM fond INTO CURSOR proba a onda jednim update sql-om ažuriraš prvu tabelu Code: UPDATE fond SET cena=proba.cena2 FROM proba WHERE fond.id_imeTabele=proba.id_new Ako ti ni jedan od ponuđenih metoda ne radi, a ti nisi rekao ni u čemu radiš, ni zašto ti ponuđeni metodi ne rade, onda ti ne vredi ni pomagati. [ goranvuc @ 29.11.2006. 10:41 ] @
Citat: Zed Mc Jack:Ako ti ni jedan od ponuđenih metoda ne radi, a ti nisi rekao ni u čemu radiš, ni zašto ti ponuđeni metodi ne rade, onda ti ne vredi ni pomagati. Upravo tako, ako pogledas neke njegove ranije postove videces da decko ima problem u komunikaciji (ja sam odustao od pokusaja da mu mu pomazem). [ MatezYU @ 29.11.2006. 11:49 ] @
U pitanju je Absoulte database, a polje je currency
[ chachka @ 30.11.2006. 12:07 ] @
Absolute Database web site kaze da je to BDE zamena cija je jedna od osobina:
Citat: SQL'92 (DDL & DML) support Upit: Code: UPDATE fond SET cena = cena / 100 nije standardni SQL-92 upit! Problem je u Absolute sistemu. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|