Click to Rate and Give Feedback
MSDN
MSDN Library
SQL Server
SQL Server 2008
Database Engine
Technical Reference
SET (Transact-SQL)
 SET FMTONLY (Transact-SQL)
Community Content
In this section
Statistics Annotations (2)
Collapse All/Expand All Collapse All
Other versions are also available for the following:
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

SET FMTONLY { ON | OFF } 

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.

Requires membership in the public role.

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
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
moFMTONLY ON executes ALL branches of IF statements      JXJ ... Thomas Lee   |   Edit   |   Show History

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.

metadata missing      adolf garlic ... Thomas Lee   |   Edit   |   Show History
It only returns column names, and not data types

Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker