我有一个用.NET开发的应用程序和SQL Server 2008中的存储过程查询,.NET Framework 4.0。
在存储过程中,我有两组:
每个存储过程只包含表中的一个查询
存储过程包含与该表相关的整个查询
示例:
IF @Type = 'Select'
'query'
IF @Type = 'Search'
''query
由于我已经开发了应用程序并使用了这两个集合,我对于为表格(第2集)编写整个查询是否是一个好习惯感到困惑?
这有什么好处,或者是一个不好的编码习惯(即在单个存储过程中编写多个查询)
请建议我选择。
谢谢
答案 0 :(得分:2)
如果在单个存储过程中保留与某个表相关的所有查询(INSERT / UPDATE / DELETE和SELECT),我可以想到这种方法存在的几个问题:
首先,安全。授予某个EXEC程序,您可能会授予他不必要的权利。
其次,编译时间随着内部代码的增加而增加。
第三,通过网络定义和发送更多参数。
第四,程序的输出没有明确定义。
第五,服务。
第六,不要这样做:)
希望它有所帮助。
答案 1 :(得分:1)
我想有些人会不同意我,但在我看来这是不好的做法。编写简短的自解释代码总是更好,这些代码分为大量函数(在这种情况下是存储过程)然后编写一个长代码,其中有很多部分实际上并不属于。
总是想一想如何让这个可怜的混蛋变得容易,这个混蛋必须使用你现在写的18个月的代码,因为你很可能会成为那个可怜的混蛋。