2017-02-09 79 views
0

我正試圖在牙科系統中找到他們存儲關於約會確認者的一些信息。按通配符名稱查找列

有一個員工表,他們使用OperatorID和代碼,我在報表的調度器列上看到了這個代碼。但是我永遠也找不到確認者,即使系統有自己的報告顯示這一點。

我可以運行一個查詢,它將返回包含此列的所有表,視圖,sp,也可能是像運算符*那樣的通配符。

+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中。

例如,請看這裏:Find the real column name of an alias used in a view?

從@Arions這個問題的答案:

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'