SQL Server ed ALM su database


Il blog di Alessandro Alpi
Archivio Posts
Anno 2018

Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Ottenere solo i metadati di una query

Non lo avevo mai usato prima d'ora, ma oggi ho avuto l'occasione di impiegarlo. Sto parlando di FMTONLY.

SET FMTONLY (transact-SQL)
http://msdn.microsoft.com/en-us/library/ms173839.aspx

Questo flag consente di ritornare al client i soli metadati di una query, senza eseguirla effettivamente.

ad esempio, ipotizziamo di avere due tabelle e di voler eseguire una join di questo tipo:

USE tempdb;

GO


CREATE TABLE Table1

(

        ID int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED

      , Valore varchar(20) NOT NULL

)

GO

 

CREATE TABLE Table2

(

        ID int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED

      , Valore varchar(20) NOT NULL

)

GO

 

INSERT INTO Table1 (Valore)

VALUES ('PROVA')

GO 1000

 

INSERT INTO Table2 (Valore)

VALUES ('CIAO')

GO 500

 

SET FMTONLY ON;

 

SELECT

        T1.ID

      , T2.Valore

      , Valore2 = T1.Valore 

FROM

      Table1                        T1

      LEFT JOIN Table2  T2 ON T1.ID = T2.ID

ORDER BY

      T1.Valore

 

SET FMTONLY OFF;

 

DROP TABLE Table1

DROP TABLE Table2

GO


Impostando il flag ad ON il risultato ottenuto è:




L'ho utilizzata per controllare se effettivamente un particolare resultset combacia con la struttura di un mio oggetto in .NET..
Utile


Stay Tuned!



Categoria: Transact-SQL
venerdì, 14 nov 2008 Ore. 13.28
Statistiche
  • Views Home Page: 599.572
  • Views Posts: 1.065.629
  • Views Gallerie: 637.597
  • n° Posts: 484
  • n° Commenti: 273



















Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003