2017-02-09 5 views
0

私は歯科システムを見つけようとしています。そこでは、確認者に関する情報を予定に保存しています。ワイルドカードを使用して名前で列を検索

従業員テーブルがあり、コードでOperatorIDが使用されています。このコードはレポートのスケジューラ列に表示されています。しかし、システムがこれを示す独自のレポートを持っていても、確認者を見つけることはできません。

この列を持つすべてのテーブル、ビュー、sp、おそらくはOperator *のようなものをワイルドカードとして返すクエリを実行できますか?

+2

私たちが知っている必要がありますメタデータは各プラットフォームの別の場所に保存されるため、使用しているプラ​​ットフォームは異なります。 – Hogan

+0

sql server 2008 –

+0

SQL検索は役に立ちますが、誰かが私を投票することなくaswerとして置くことはできません。だからここに行く。 [リンク](http://www.red-gate.com/products/sql-development/sql-search/) – MistaGoustan

答えて

2

ANSI-SQLにはINFORMATION_SCHEMAがあります。こちらをご覧ください(https://en.wikipedia.org/wiki/Information_schema)。

これを照会すると、すべての列、表、索引などを取得できます。

ビューを操作するため、sql-syntaxを使用して、ワイルドカードとそれ以外のものを使用できます。これはsqlで慣れています。

例えば、ここを見て:@Arions答えからFind the real column name of an alias used in a view?

をこの質問に:

SELECT * 
FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE AS UsedColumns 
WHERE UsedColumns.VIEW_NAME='viewTest' 

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS AS UsedColumns 
WHERE UsedColumns.COLUMN_NAME like 'Operator%'' 

は、あなたの質問に適応し、それはそのようになります。

SELECT * 
FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE AS UsedColumns 
WHERE UsedColumns.COLUMN_NAME like 'Operator%' 

SELECT * 
FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE AS UsedColumns 
WHERE UsedColumns.VIEW_NAME='viewTest' 
関連する問題