36

viewから選択するのと同様の方法で、の列名を選択しようとしていますinformation_schema.columns

私はこれを行う方法を見つけることができないようです。他の誰かが以前にこれをしたことがありますか、それが可能かどうかさえ知っていますか?

4

7 に答える 7

67

information_schema.columns.Table_name (少なくとも Sql Server 2000 では) にはビューが含まれているため、使用するだけです

SELECT * FROM information_schema.columns WHERE table_name = 'VIEW_NAME'
于 2012-06-29T20:19:57.060 に答える
19
于 2012-06-29T20:18:33.723 に答える
4

この方法がビューで機能することがわかりました(SQL 2017)。information_schema.columnsとからデータを取得できませんでしたsys.columns:

    SELECT * FROM sys.all_columns WHERE object_id = OBJECT_ID('<view_name>')
于 2019-04-27T11:25:06.457 に答える
3

INFORMATION_SCHEMA ビューは、データベース内のオブジェクトに関するメタデータを保持します。INFORMATION_SCHEMA.COLUMNS は、基になる sys テーブルを使用してメタデータを取得します ( sp_helptext 'master.Information_schema.columns' を確認してください)。この単純なクエリを使用して、任意のビューで使用される列名を選択できます。

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>'
于 2015-09-24T05:28:25.103 に答える
1
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
于 2014-10-15T17:54:33.103 に答える