[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RECID nr 2.



On  4 Sep 97 at 10:49, Darek Siewiera wrote:

> 
> 
> On Thu, 4 Sep 1997, Adam wrote:
> 
> > Sprawa wbrew pozorom nie jest taka idiotyczna. Spotkalem sie kilka
> > razy z nastepujaca konstrukcja:
> > 
> > 
> > IF RECID(tabela) = -1 THEN .
> > 
> > 
> > Jaki sens moze miec taki kod?
> > 
> > Pozdrowienia
> > 
> > 	Adam Kacala
> > 
> 
> Wedlug moich informacji, recid od kazdej rzeczywistej tabeli w bazie
> danych ma wartosc dodatnia. Warunek (RECID(tabela) = -1) jest
> czasami uzywany do zainicjowania zmiennej typu recid - zeby byc
> pewnym, ze zmienna ta nie wskazuje na zaden rekord w bazie danych.
> Rownie dobrze moznaby uzyc warunku (RECID(tabela) = ?).
> 
> Inna sytuacja wystepuje w przypadku workfile - kazdy recid od
> rekordu workfile ma wartosc ujemna (-1, -2 itd. dla kolejno
> tworzonych rekordow).
> 
> Bardziej uniwersalnym warunkiem jest (RECID(tabela) = ?) - dziala
> zarowno w przypadku tabeli rzeczywistej, jak i workfile.
> 
> Darek Siewiera
> Financial Services Sp. z o.o.
> email: darek@ fsl.com.pl

Nie rozumiem powyzszego tlumaczenia. Warunek nie moze byc uzyty do
zainicjowania zmiennej typu recid z powodu niezgodnosci typow (logical
<> recid), a w przykladzie nie ma zadnej zmiennej typu recid.

Moim zdaniem konstrukcja 
IF RECID(tabela) = -1 THEN .
sluzy jedynie do zwiekszenia scope'u bufora i ma takie samo 
znaczenie jak np.
if available tabela then .

Cytowana konstrukcja wystepuje zapewne na poczatku procedury, 
nieprawdaz?

--
Tomasz Judycki     tj@csbi.waw.pl

CSBI SA,                tel (48 22) 610 85 80 ext. 334
Plowiecka 1,            fax (48 22) 612 20 61
04-501 Warsaw,
Poland
http://www.csbi.waw.pl