I am working on a query, and have found minimal documentation from Microsoft on the TSQL “FOR BROWSE” option on a select statement.
I have seen FOR BROWSE documented as an option to cursors, but I haven’t been able to find any good examples of using this, or reasons to use FOR BROWSE on a SELECT statement.
What are good reasons to use FOR BROWSE in a TSQL SELECT statement?
I am using SQL Server 2008 and 2012.
As far as I can tell. It appears to be an interface for implementing optimistic concurrency control within an application where one or more users will be accessing and updating data from the same source at the same time. It also appears to work in conjunction with a compatible front end library (DB-Library). However, it would appear that this is a somewhat deprecated mechanism as you can achieve all of the above without using the “For Browse” statement. This can be further confirmed by the necessity to create two DBPROCESS structures which are the results of the DB-Library (a deprecated C library) call “dbopen“.
Here is an example of using a “For Browse” query in conjunction with the DB-Library.
Ultimately, it would be reasonable to conclude that this mechanism still exists for the purpose of backwards-compatibility. So unless you’re maintaining a C based client using the DB-Library, I wouldn’t worry too much about this sql “for clause“.
Some other sources
One more observation