Obtener la descripción de una vista

07/11/2005 - 09:14 por Juan Ant. | Informe spam
Estoy buscando algún procedimiento almacenado que me devuelva la
definición de una vista. He encontrado SELECT * FROM
INFORMATION_SCHEMA.VIEWS, pero no me devuelve la definición de todas
las vistas. ¿Por qué puede ser eso? En algunos casos, el campo
View_Definition viene a nulo.

Gracias
 

Leer las respuestas

#1 Eladio Rincón
07/11/2005 - 10:33 | Informe spam
si la longitud de la definición de la vista es superior a 4000 caracteres,
lo devolverá como nulo; mira el siguiente trozo de codigo d
information_schema.views:

,case
when exists (select *
from syscomments com3
where com3.id = obj.id
and com3.colid > 1) then convert(nvarchar(4000), NULL)
else com.text
end as VIEW_DEFINITION

la columna colid en syscomments representa la secuencia en trozos de 4000
caracteres; qué quiere decir esto? que si una vista tendrá en syscomments
filas que son multiplos de 4000 caracteres; en tu caso debes tener más de 1
fila en syscomments.

ejecuta lo siguiente:

en su lugar deberás usar:
select text from sysobjects so join syscomments st
on so.id = st.id
where so.name = 'tu_vista'

Eladio Rincón

SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com

"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"


"Juan Ant." wrote in message
news:
Estoy buscando algún procedimiento almacenado que me devuelva la
definición de una vista. He encontrado SELECT * FROM
INFORMATION_SCHEMA.VIEWS, pero no me devuelve la definición de todas
las vistas. ¿Por qué puede ser eso? En algunos casos, el campo
View_Definition viene a nulo.

Gracias

Preguntas similares