The scope of SET ENGINEBEHAVIOR is global.
Using SET ENGINEBEHAVIOR set to 70 might lead to ambiguous results from SQL SELECT commands. This occurs when you use the following:
When you set SET ENGINEBEHAVIOR to 70 or 80, results from the TOP clause in the SQL SELECT command might include more than nExpr records when there are rows with identical values for columns specified by the ORDER BY clause. For example, suppose you specified 10 rows for nExpr. If there are more than 10 rows with identical values in the columns specified in the ORDER BY clause, the query result might contain more than 10 rows.
When you set SET ENGINEBEHAVIOR to 70 or 80 and the code page of the table (CPDBF( )) differs from the current Visual FoxPro code page setting (CPCURRENT( )), SQL or other Rushmore optimizable commands could return or act upon incorrect records. When you set SET ENGINEBEHAVIOR to 90, Visual FoxPro builds temporary indexes to ensure correct results.
For more information, see Understanding Code Pages in Visual FoxPro, Using Rushmore Query Optimization to Speed Data Access, and Changes in Functionality for the Current Release.