Diferencia (set fmtonly)

11/02/2008 - 00:08 por Pepe | Informe spam
Desde el punto de vista de la aplicacion, cual es la diferencia entre estos
dos queries en relacion a lo que retornan?

set fmtonly on; select * from tabla; set fmtonly off

select top 0 * from tabla

La pregunta porque la ayuda del fmtonly habla de metadata pero yo no veo la
diferencia en el resultado.

Pepe

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
11/02/2008 - 15:24 | Informe spam
Pepe,

Posiblemente ninguna diferencia si se trata de una sentencia en especifico,
pero FMTONLY tambien puede ser usado para returnar informacion sobre metadata
del resultado devuelto por un procedimiento almacenado, sin necesidad de
ejecutar el procedimiento.

USE Northwind
GO

SET FMTONLY ON
GO

DECLARE @RC int
DECLARE @Beginning_Date datetime
DECLARE @Ending_Date datetime

SET @Beginning_Date = '19980101'
SET @Ending_Date = '19981231'

EXECUTE @RC = [Northwind].[dbo].[Sales by Year]
@Beginning_Date
,@Ending_Date
GO

SET FMTONLY OFF
GO

AMB


"Pepe" wrote:

Desde el punto de vista de la aplicacion, cual es la diferencia entre estos
dos queries en relacion a lo que retornan?

set fmtonly on; select * from tabla; set fmtonly off

select top 0 * from tabla

La pregunta porque la ayuda del fmtonly habla de metadata pero yo no veo la
diferencia en el resultado.

Pepe



Respuesta Responder a este mensaje
#2 Jose Guzman
11/02/2008 - 15:51 | Informe spam
Hola,

Una pregunta sobre ese tema.
Como uno ve ese "metadata"en el conjunto resultante ?

Porque yo hice una prueba y me sale exactamente lo mismo que sin haber
puesto el set fmtonly on salvo que sin registros.



"Alejandro Mesa" wrote in message
news:
Pepe,
Una
Posiblemente ninguna diferencia si se trata de una sentencia en
especifico,
pero FMTONLY tambien puede ser usado para returnar informacion sobre
metadata
del resultado devuelto por un procedimiento almacenado, sin necesidad de
ejecutar el procedimiento.

USE Northwind
GO

SET FMTONLY ON
GO

DECLARE @RC int
DECLARE @Beginning_Date datetime
DECLARE @Ending_Date datetime

SET @Beginning_Date = '19980101'
SET @Ending_Date = '19981231'

EXECUTE @RC = [Northwind].[dbo].[Sales by Year]
@Beginning_Date
,@Ending_Date
GO

SET FMTONLY OFF
GO

AMB


"Pepe" wrote:

Desde el punto de vista de la aplicacion, cual es la diferencia entre
estos
dos queries en relacion a lo que retornan?

set fmtonly on; select * from tabla; set fmtonly off

select top 0 * from tabla

La pregunta porque la ayuda del fmtonly habla de metadata pero yo no veo
la
diferencia en el resultado.

Pepe



Respuesta Responder a este mensaje
#3 Pepe
11/02/2008 - 22:52 | Informe spam
Me uno a esa misma pregunta porque yo tampoco veo los metadatos en los
registros cuando se usa SET FMTONLY ON. De hecho es un misterio!! como
ADO.NET los saca sin ir a information_schema. He estado buscando en
google y no aparece nada. Debe ser algo de bajo nivel.

Pepe

"Jose Guzman" escribió en el mensaje
news:%
Hola,

Una pregunta sobre ese tema.
Como uno ve ese "metadata"en el conjunto resultante ?

Porque yo hice una prueba y me sale exactamente lo mismo que sin haber
puesto el set fmtonly on salvo que sin registros.



"Alejandro Mesa" wrote in
message news:
Pepe,
Una
Posiblemente ninguna diferencia si se trata de una sentencia en
especifico,
pero FMTONLY tambien puede ser usado para returnar informacion sobre
metadata
del resultado devuelto por un procedimiento almacenado, sin necesidad de
ejecutar el procedimiento.

USE Northwind
GO

SET FMTONLY ON
GO

DECLARE @RC int
DECLARE @Beginning_Date datetime
DECLARE @Ending_Date datetime

SET @Beginning_Date = '19980101'
SET @Ending_Date = '19981231'

EXECUTE @RC = [Northwind].[dbo].[Sales by Year]
@Beginning_Date
,@Ending_Date
GO

SET FMTONLY OFF
GO

AMB


"Pepe" wrote:

Desde el punto de vista de la aplicacion, cual es la diferencia entre
estos
dos queries en relacion a lo que retornan?

set fmtonly on; select * from tabla; set fmtonly off

select top 0 * from tabla

La pregunta porque la ayuda del fmtonly habla de metadata pero yo no veo
la
diferencia en el resultado.

Pepe








Respuesta Responder a este mensaje
#4 Jose Guzman
12/02/2008 - 20:51 | Informe spam
Es cierto, es un misterio. !

Yo estuve checando eso tambien, cuando uno hace un FillSchema en .NET
carga el esquema pero la instruccion que envia al SS no hace uso de
information_schema.

Es algo no documentado.
Si alguien sabe que explique por favor.


"Pepe" <pepe> wrote in message
news:u7L%
Me uno a esa misma pregunta porque yo tampoco veo los metadatos en los
registros cuando se usa SET FMTONLY ON. De hecho es un misterio!! como
ADO.NET los saca sin ir a information_schema. He estado buscando en
google y no aparece nada. Debe ser algo de bajo nivel.

Pepe

"Jose Guzman" escribió en el mensaje
news:%
Hola,

Una pregunta sobre ese tema.
Como uno ve ese "metadata"en el conjunto resultante ?

Porque yo hice una prueba y me sale exactamente lo mismo que sin haber
puesto el set fmtonly on salvo que sin registros.



"Alejandro Mesa" wrote in
message news:
Pepe,
Una
Posiblemente ninguna diferencia si se trata de una sentencia en
especifico,
pero FMTONLY tambien puede ser usado para returnar informacion sobre
metadata
del resultado devuelto por un procedimiento almacenado, sin necesidad de
ejecutar el procedimiento.

USE Northwind
GO

SET FMTONLY ON
GO

DECLARE @RC int
DECLARE @Beginning_Date datetime
DECLARE @Ending_Date datetime

SET @Beginning_Date = '19980101'
SET @Ending_Date = '19981231'

EXECUTE @RC = [Northwind].[dbo].[Sales by Year]
@Beginning_Date
,@Ending_Date
GO

SET FMTONLY OFF
GO

AMB


"Pepe" wrote:

Desde el punto de vista de la aplicacion, cual es la diferencia entre
estos
dos queries en relacion a lo que retornan?

set fmtonly on; select * from tabla; set fmtonly off

select top 0 * from tabla

La pregunta porque la ayuda del fmtonly habla de metadata pero yo no
veo la
diferencia en el resultado.

Pepe












email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida