jak zrobić pętlę w sql?

0

Witam
Mam taką pętlę w programie, muszą ją całą przelecieć i coś tam obliczyć pozmieniać, zależnie od warunków. Jak ją przekształcić na kod sql, bo chciałbym to umieścić w procedurze bazy a nie w kodzie programu. Napisałem tu kod w skrócie.
Nie wiem np. składnia dla eof i składnia next.

DB->Query1->Add("SELECT * FROM ZEST");

   while (!DB->Query1->Eof) {

       DB->Query2->SQL->Add("UPDATE ZEST SET RENT=:RENT WHERE IDIK=:IDIK")

   DB->Query1->Next();
   }
1

UPDATE ... SET ... WHERE idik IN (SELECT ...) ew. UPDATE ... JOIN.

2

No nie rozpisałeś się za bardzo co rozumiesz przez "coś obliczyć" ani co jaka składnia SQL, ale wyglądać będzie to mniej więcej tak.

UPDATE zest new SET rent = <new rent> FROM zest old WHERE new.id = old.id
0

Wielkie dzięki za podpowiedź, ale zagubiłem się. Jest tabela i muszę updetować jedno pole w zależności od warunku.

    CREATE PROCEDURE LICZ_RENTOWNOSC (
    IDIK Integer,
    RENT Numeric(7,2))
AS
BEGIN
UPDATE ZEST SET RENT=:RENT WHERE IDIK IN (SELECT IDIK,NETTOF,NETTOK FROM ZEST INTO IDIK,NETTOF,NETTOK);
i jeszcze to jest potrzebne w tej pętli, tylko nie mam pojęcia jak to tam wcisnąć
if (NETTOF>0 && NETTOK>0) then
 RENT=NETTF/NETTOK;
 else 
 RENT=0;
END^
5
UPDATE zest SET rent=CASE WHEN nettof>0 AND nettok>0 THEN 1.*nettf/nettok ELSE 0 END

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0