有没有比SQL存储过程更好的方法?

Moo*_*oon 2 sql t-sql stored-procedures sql-server-2008

我创建了一个存储过程GetNotifications,返回特定用户的所有通知.其他开发人员在许多不同的地方使用此SP.

现在我们需要实现一个分页功能,这样我们就不会同时向用户充斥所有通知.

我不能修改现有的SP,因为它正被使用.

我可以在其中创建另一个具有分页功能的SP,但我真的不想这样做,因为它需要大量的重复代码,当然如果我们在将来更改用于获取通知的业务逻辑,它会很糟糕.

我可以这样做:创建一个内部调用的新SP,GetNotifications然后在返回的结果集上实现分页.但那么服务器上不会有不必要的负载,因为GetNotifications无论如何都会返回所有结果?

你能想到更好的方法来解决这个问题吗?

Stu*_*rth 8

使用可选参数修改存储过程以返回分页功能或所有结果(默认值).这应该为您提供所需的功能,而不会破坏现有代码.