2012-11-13 43 views
0

如何根據用戶選擇列出任何表(或所有表)的詳細信息?例如,我想有一個包含查詢的數據集:如何根據SSRS中的變量報告表格?

SELECT * FROM @TableName 

然後@TableName將得到表從SYS.TABLES列表。我的數據庫版本是SQL 2008 R2。

+1

你可以編輯你的問題,並告訴我們你到目前爲止嘗試過什麼嗎? – Jeroen

回答

1

來填充@TableName參數,您可以使用:

SELECT name FROM sys.tables 

那麼你的數據集的SQL語句可以是一個表達式:

="SELECT * FROM " & Parameters!TableName.Value 

然而,這不會是特別有用。雖然Sql語句將執行,但是字段名稱是什麼?我想,這對於數據庫中的每個表都會有所不同。當Sql語句是表達式時,字段名稱不會自動填充,您必須手動添加它們。然後你必須以某種方式將這些字段映射到你的表列。

所以,雖然你理論上可以做你想做的事,但實際上你不能使用結果。

因此,不可以爲數據庫中的每個表都創建一個通用報表(除非表由於某些原因具有完全相同的結構)。