您如何根据用户选择列出任何表(或所有表)的详细信息?例如,我想要一个包含查询的数据集:
SELECT * FROM @TableName
然后@TableName
将从 sys.tables 中获取表列表。我的数据库版本是 SQL 2008 R2。
您如何根据用户选择列出任何表(或所有表)的详细信息?例如,我想要一个包含查询的数据集:
SELECT * FROM @TableName
然后@TableName
将从 sys.tables 中获取表列表。我的数据库版本是 SQL 2008 R2。
要填充您的@TableName
参数,您可以使用:
SELECT name FROM sys.tables
那么你的 Dataset 的 Sql Statement 可以是一个表达式:
="SELECT * FROM " & Parameters!TableName.Value
但是,这不会特别有用。当 Sql 语句将执行时,字段名称将是什么?我想,这对于数据库中的每个表都会有所不同。当 Sql 语句是表达式时,字段名称不会自动填充,您必须手动添加它们。然后你必须以某种方式将这些字段映射到你的表列。
所以虽然理论上你可以做你想做的事,但实际上你不能使用结果。
所以不,您不能为数据库中的每个表都有一个通用报告(除非由于某种原因这些表具有完全相同的结构)。