0

我们的 SQL Server 2005 数据库有近 100 个不同的表。我们将提供一个功能来根据用户定义的过滤器搜索一些信息。我们的过滤器配置将非常复杂。用户可以轻松创建一个过滤器,将 20 多个具有复杂条件的表连接起来。

为了降低连接的复杂性,我们计划创建几个 SQL Server 视图。但该解决方案本身似乎不足以简化 SQL。我们将根据过滤器配置生成 SQL。SQL 将动态生成。(我不确定那个 SQL 会有多长……SqlCommand 有最大长度吗?) SP 是另一种选择……

你遇到过类似的情况吗?你对我有什么好的建议/解决方案吗?

谢谢!

4

2 回答 2

1

我建议创建一个对您的数据进行非规范化的报告数据库,这样您就不需要复杂的查询。还要确保对任何查询进行参数化以避免 sql 注入攻击。

希望这可以帮助。

于 2011-03-30T01:02:06.023 回答
1

您应该阅读The Curse and Blessings of Dynamic SQL以了解其中的一些陷阱。

于 2011-03-30T01:02:40.837 回答