Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 8 odgovora
  • 5.346 pregleda

Najnovija ↓

Kako da odradim deljenje sa 10 u sql jeziku 27.11.2006. u 13:38 · pre 242 meseca #1

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?
Re: Kako da odradim deljenje sa 10 u sql jeziku 28.11.2006. u 11:37 · pre 242 meseca #2
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
Potpis
www.subakov.com Jedini Visual FoxPro sajt u Srbiji
Re: Kako da odradim deljenje sa 10 u sql jeziku 28.11.2006. u 13:55 · pre 242 meseca #3
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
Re: Kako da odradim deljenje sa 10 u sql jeziku 28.11.2006. u 15:30 · pre 242 meseca #4
Koja baza je u pitanju? Da li dobijes ikakvu gresku?
Potpis
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
Re: Kako da odradim deljenje sa 10 u sql jeziku 28.11.2006. u 19:24 · pre 242 meseca #5
I kog tipa podataka je atribut 'cena'?
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: Kako da odradim deljenje sa 10 u sql jeziku 29.11.2006. u 11:09 · pre 242 meseca #6
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.
Potpis
www.subakov.com Jedini Visual FoxPro sajt u Srbiji
Re: Kako da odradim deljenje sa 10 u sql jeziku 29.11.2006. u 11:41 · pre 242 meseca #7
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).
Re: Kako da odradim deljenje sa 10 u sql jeziku 30.11.2006. u 13:07 · pre 242 meseca #9
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.
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme