Propiedades extendidas en vistas

22/10/2008 - 13:12 por JorKam | Informe spam
Buenos días a tod@s.

Vamos a ver si consigo explicarme correctamente.

En primer lugar tengo una tabla (digamos TABLA1) en la que se han
informado las descripciones de cada uno de los campos, mediante la
propiedad extendida MS_Description. A partir de esta tabla creo una
vista (llamada VISTA1) que contiene todos y cada uno de los campos de
TABLA1 (es decir, un SELECT * FROM TABLA1).

Ahora viene la duda/problema. ¿Es posible acceder a la propiedad
extendida de cada uno de los campos de la tabla a través de la vista ?

A través de las distintas vistas del sistema (sys.columns,
sys.objects) soy capaz de obtener la lista de campos incluidos en la
vista, pero no encuentro la forma de relacionar dichos campos con los
originales de la tabla.

De esta forma obtengo las descripciones de los campos EN LA TABLA
pero, ¿cómo obtener lo mismo para la vista directamente?

SELECT OBJECT_NAME(major_id), * FROM sys.extended_properties WHERE
OBJECT_NAME(major_id) = 'TABLA1' and name = 'MS_Description'


Muchas gracias a tod@s por su ayuda.


PD: El ejemplo es sencillo (una vista de una sola tabla) pero la
solución debo aplicarla para vistas que toman datos de varias tablas a
la vez.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
22/10/2008 - 13:59 | Informe spam
Chequea la funcion fn_listextendedproperty en los BOL.

http://www.capitalfederal.com/foros...php?t#6651


AMB


"JorKam" wrote:

Buenos días a

Vamos a ver si consigo explicarme correctamente.

En primer lugar tengo una tabla (digamos TABLA1) en la que se han
informado las descripciones de cada uno de los campos, mediante la
propiedad extendida MS_Description. A partir de esta tabla creo una
vista (llamada VISTA1) que contiene todos y cada uno de los campos de
TABLA1 (es decir, un SELECT * FROM TABLA1).

Ahora viene la duda/problema. ¿Es posible acceder a la propiedad
extendida de cada uno de los campos de la tabla a través de la vista ?

A través de las distintas vistas del sistema (sys.columns,
sys.objects) soy capaz de obtener la lista de campos incluidos en la
vista, pero no encuentro la forma de relacionar dichos campos con los
originales de la tabla.

De esta forma obtengo las descripciones de los campos EN LA TABLA
pero, ¿cómo obtener lo mismo para la vista directamente?

SELECT OBJECT_NAME(major_id), * FROM sys.extended_properties WHERE
OBJECT_NAME(major_id) = 'TABLA1' and name = 'MS_Description'


Muchas gracias a por su ayuda.


PD: El ejemplo es sencillo (una vista de una sola tabla) pero la
solución debo aplicarla para vistas que toman datos de varias tablas a
la vez.

Respuesta Responder a este mensaje
#2 JorKam
23/10/2008 - 10:43 | Informe spam
On 22 oct, 11:59, Alejandro Mesa
wrote:
Chequea la funcion fn_listextendedproperty en los BOL.

http://www.capitalfederal.com/foros...php?t#6651

AMB

"JorKam" wrote:
> Buenos días a

> Vamos a ver si consigo explicarme correctamente.

> En primer lugar tengo una tabla (digamos TABLA1) en la que se han
> informado las descripciones de cada uno de los campos, mediante la
> propiedad extendida MS_Description.  A partir de esta tabla creo una
> vista (llamada VISTA1) que contiene todos y cada uno de los campos de
> TABLA1 (es decir, un SELECT * FROM TABLA1).

> Ahora viene la duda/problema.  ¿Es posible acceder a la propiedad
> extendida de cada uno de los campos de la tabla a través de la vista ?

> A través de las distintas vistas del sistema (sys.columns,
> sys.objects) soy capaz de obtener la lista de campos incluidos en la
> vista, pero no encuentro la forma de relacionar dichos campos con los
> originales de la tabla.

> De esta forma obtengo las descripciones de los campos EN LA TABLA
> pero, ¿cómo obtener lo mismo para la vista directamente?

> SELECT OBJECT_NAME(major_id), * FROM sys.extended_properties WHERE
> OBJECT_NAME(major_id) = 'TABLA1' and name = 'MS_Description'

> Muchas gracias a por su ayuda.

> PD: El ejemplo es sencillo (una vista de una sola tabla) pero la
> solución debo aplicarla para vistas que toman datos de varias tablas a
> la vez.



Hola Alejandro, muchas gracias por tu ayuda, pero creo que no me he
explicado bien. Para aplicar el método que me indicas, tengo que
conocer previamente las tablas que conforman la vista y ese es el
problema. En el ejemplo que puse estaba claro, pero imagina que te
dan únicamente la vista, sin saber de que otras tablas tiran.

Necesito encontrar la forma de relacionar un campo de la vista con el
"original" de la tabla.

De todas formas muchas gracias.

Saludos.
Respuesta Responder a este mensaje
#3 JorKam
23/10/2008 - 11:28 | Informe spam
On 23 oct, 08:43, JorKam wrote:
On 22 oct, 11:59, Alejandro Mesa



wrote:
> Chequea la funcion fn_listextendedproperty en los BOL.

>http://www.capitalfederal.com/foros...php?t#6651

> AMB

> "JorKam" wrote:
> > Buenos días a

> > Vamos a ver si consigo explicarme correctamente.

> > En primer lugar tengo una tabla (digamos TABLA1) en la que se han
> > informado las descripciones de cada uno de los campos, mediante la
> > propiedad extendida MS_Description.  A partir de esta tabla creo una
> > vista (llamada VISTA1) que contiene todos y cada uno de los campos de
> > TABLA1 (es decir, un SELECT * FROM TABLA1).

> > Ahora viene la duda/problema.  ¿Es posible acceder a la propiedad
> > extendida de cada uno de los campos de la tabla a través de la vista ?

> > A través de las distintas vistas del sistema (sys.columns,
> > sys.objects) soy capaz de obtener la lista de campos incluidos en la
> > vista, pero no encuentro la forma de relacionar dichos campos con los
> > originales de la tabla.

> > De esta forma obtengo las descripciones de los campos EN LA TABLA
> > pero, ¿cómo obtener lo mismo para la vista directamente?

> > SELECT OBJECT_NAME(major_id), * FROM sys.extended_properties WHERE
> > OBJECT_NAME(major_id) = 'TABLA1' and name = 'MS_Description'

> > Muchas gracias a por su ayuda.

> > PD: El ejemplo es sencillo (una vista de una sola tabla) pero la
> > solución debo aplicarla para vistas que toman datos de varias tablas a
> > la vez.

Hola Alejandro, muchas gracias por tu ayuda, pero creo que no me he
explicado bien.  Para aplicar el método que me indicas, tengo que
conocer previamente las tablas que conforman la vista y ese es el
problema.  En el ejemplo que puse estaba claro, pero imagina que te
dan únicamente la vista, sin saber de que otras tablas tiran.

Necesito encontrar la forma de relacionar un campo de la vista con el
"original" de la tabla.

De todas formas muchas gracias.

Saludos.



Quiero rectificar lo dicho anteriormente Alejando. He modificado
"algo" la query que me dejaste para que tome la vista, pero resulta
que la función "fn_listextendedproperty" no reconoce que los campos de
la vista tengan una propiedad extendida asignada.

SELECT objtype, objname, [name], [value] FROM
fn_listextendedproperty(NULL, 'schema', 'dbo', 'VIEW',
'NombreDeLaVista', 'column', NULL)

Por eso necesito poder detectar a qué tabla pertenecen cada uno de los
campos de una vista, para luego ir "por detrás" y tomar la propiedad
extendida directamente la tabla.

De nuevo muchas gracias por tu ayuda.

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