tilfældige tal
Jeg har siddet for sjov og rodet lidt med InterBase 6.0 og stødt på en lidt sjov ting...jeg har flg. i en stored procedure:
CREATE PROCEDURE SP_TEST returns (T double precision)
AS
DECLARE VARIABLE p varchar(255);
DECLARE VARIABLE r double precision;
DECLARE VARIABLE i integer;
BEGIN
i=0;
while(i<100) do
begin
r=0;
r = rand();
t=r;
i=i+1;
suspend;
end
END
ovennævnte er ikke færdigt endnu men problemet er funktionen RAND() i UDF_LIB til Linux... i ovennævnte kode er det \"tilfældige\" tal det det samme i samtlige 100 rows der returneres, altså ikke en tilfældig serie.
Skyldes dette parseren i interbase, at kaldet i virkeligheden kun udføres engang for optimeringens skyld? idet at et enkelt kald i en anden stored procedure der bliver kaldt 100 gange rent faktisk generer 100 tilfældige tal?