有时,在处理数据时,过程式编程是绝对无法避免的。
我目前正在优化一些遗留代码。它使用一个游标、63 对IF
/ELSE
语句和BEGIN
/END
等。我曾希望对游标进行逆向工程并使其成为一个程序过程。现在我已经完成了对算法的解码,我意识到了。. . 哎呀...它必须是程序性的,因为对记录所做的每个选择都取决于对所有先前记录的过程的结果。
所以现在我被撕裂了......还有其他选择可以将程序代码与 SQL Server 处理(CLR SP、UDF 等)混合。我非常相信使用正确的工具来完成这项工作,所以我倾向于为此制作一个 .NET CLR SP。但是稍微简化一下光标,但仍然保留光标会更快,更“容易” 。
大家怎么看?既然我们可以通过 SQL Server 访问 .NET 模块,那么使用游标是否合适(在我看来,这从一开始就是一个杂物/解决方法)。