SQL Server 2008 Books Online (October 2009)
SET FMTONLY (Transact-SQL)

Returns only metadata to the client. Can be used to test the format of the response without actually running the query.

Topic link icon Transact-SQL Syntax Conventions

Syntax

SET FMTONLY { ON | OFF } 
Remarks

No rows are processed or sent to the client because of the request when SET FMTONLY is turned ON.

The setting of SET FMTONLY is set at execute or run time and not at parse time.

Permissions

Requires membership in the public role.

Examples

The following example changes the SET FMTONLY setting to ON and executes a SELECT statement. The setting causes the statement to return the column information only; no rows of data are returned.

USE AdventureWorks;
GO
SET FMTONLY ON;
GO
SELECT * 
FROM HumanResources.Employee;
GO
SET FMTONLY OFF;
GO
See Also

Reference

SET (Transact-SQL)

Help and Information

Getting SQL Server 2008 Assistance
Tags :


Community Content

Thomas Lee
moFMTONLY ON executes ALL branches of IF statements

If you SET FMTONLY ON (or it is generated, which SSRS does) before executing a stored proc, if that stored proc contains IF statements, it will execute ALL BRANCHES of the IF statements in your stored proc, ignoring the conditions.

For example, consider this code:

DECLARE @i INT

SET @i = 0
IF @i = 0
SET @i = @i + 1
ELSE
SET @i = @i + 2



will result in @i = 3 with SET FMTONLY ON and @i = 1 with SET FMTONLY OFF.

With SET FMTONLY ON, the condition "@i = 1" is ignored and both SET statements (IF and ELSE) are executed.

Tags : contentbug

Thomas Lee
metadata missing
It only returns column names, and not data types

Tags : contentbug?

Page view tracker