0

您如何根据用户选择列出任何表(或所有表)的详细信息?例如,我想要一个包含查询的数据集:

SELECT * FROM @TableName

然后@TableName将从 sys.tables 中获取表列表。我的数据库版本是 SQL 2008 R2。

4

1 回答 1

1

要填充您的@TableName参数,您可以使用:

SELECT name FROM sys.tables

那么你的 Dataset 的 Sql Statement 可以是一个表达式:

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

但是,这不会特别有用。当 Sql 语句将执行时,字段名称将是什么?我想,这对于数据库中的每个表都会有所不同。当 Sql 语句是表达式时,字段名称不会自动填充,您必须手动添加它们。然后你必须以某种方式将这些字段映射到你的表列。

所以虽然理论上你可以做你想做的事,但实际上你不能使用结果。

所以不,您不能为数据库中的每个表都有一个通用报告(除非由于某种原因这些表具有完全相同的结构)。

于 2012-11-14T00:15:38.803 回答