varias una tablas tabla sentencia obtener nombres nombre listar las estructura desde datos condiciones con columnas campos sql tsql view sql-view

sql - tablas - Seleccionar columnas de una vista



select columnas sql (4)

Las vistas de INFORMATION_SCHEMA contienen metadatos sobre objetos dentro de la base de datos. INFORMATION_SCHEMA.COLUMNS usa tablas de sys subyacentes para recuperar los metadatos (verifique sp_helptext ''master.Information_schema.columns''). Puede utilizar esta consulta más sencilla para seleccionar los nombres de columna utilizados en cualquier vista.

SELECT col.name FROM <db_name>.sys.columns col, <db_name>.sys.views vew WHERE col.object_id = vew.object_id AND vew.name = ''<view_name>''

Estoy intentando seleccionar los nombres de columna de una view de una manera similar a la selección de information_schema.columns .

Parece que no puedo encontrar una manera de hacer esto. ¿Alguien más ha hecho esto antes o sabe si es posible?


Prueba esto:

SELECT * FROM sys.views

Esto le da las vistas como tales; si necesita las columnas, use esto:

SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(''dbo.YourViewNameHere'')

No estoy seguro de cómo puede hacerlo utilizando INFORMATION_SCHEMA . Nunca uso eso, ya que se siente bastante "torpe" e intuitivo, en comparación con las vistas del catálogo del esquema del sistema.

Consulte los documentos de MSDN en las Vistas del catálogo para ver todos los detalles de todas las vistas disponibles y la información que pueden contener.


information_schema.columns.Table_name (al menos en Sql Server 2000) incluye vistas, así que solo use

SELECT * FROM information_schema.columns WHERE table_name = ''VIEW_NAME''


SELECT distinct VIEW_NAME ,TABLE_SCHEMA ,TABLE_NAME ,COLUMN_NAME FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE --WHERE TABLE_SCHEMA = ''Person'' ORDER BY VIEW_NAME ,TABLE_SCHEMA ,TABLE_NAME ,COLUMN_NAME