Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL Select User Defined Fuctions Called Multiple Times
Message
 
 
To
09/06/2005 17:27:58
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01021938
Message ID:
01021952
Views:
18
Any UDF is called from a query one extra time when VFP determines the size of the fields in the result set. See PRB: SQL SELECT Statement UDF Executes Twice On First Record mskb #133001 for details.

>
>I have a sql select statement that calls user defined functions (either a program procedure or DBC stored procedure) and have noticed that the UDF is called multiple times for each record returned.
>
>In following simplest case, the select statement (table with one record) should produce nSeed = 10, but the output is 20.
>
>
>CLEAR ALL
>PUBLIC pnSeed
>
>pnSeed = 1
>
>SELECT  getnumber() as nSeed FROM appkg!one_record_dummy
>
>PROCEDURE getnumber
>	LOCAL lnRetVal
>	
>	lnRetVal = 10 * pnSeed
>	pnSeed   = pnSeed + 1
>	
>	RETURN lnRetVal
>ENDPROC
>
>
>Does anyone know what's causing this and is there a solution (other than not using UDF's with SQl Select Statements)?
>
>Thanks,
>
>Gary Pike
--sb--
Previous
Reply
Map
View

Click here to load this message in the networking platform