我们有一个用C#编写的应用程序,它连接到MS SQL服务器. 我们过go 常常 for each 数据库调用创建一个存储过程,但是我们注意到使用存储过程给我们带来了一个非常大的缺点,如果我们更改数据库,我们不知道需要更新哪些存储过程.
现在我在想,使用存储过程是好事还是坏事?
我们有一个用C#编写的应用程序,它连接到MS SQL服务器. 我们过go 常常 for each 数据库调用创建一个存储过程,但是我们注意到使用存储过程给我们带来了一个非常大的缺点,如果我们更改数据库,我们不知道需要更新哪些存储过程.
现在我在想,使用存储过程是好事还是坏事?
这不是SP问题,而是开发过程中的问题.如果你没有需要的信息,就go 获取吧.
您可以制作一个简单的可视映射,显示您的表架构和依赖的SP.如果您的数据库太大,无法进行可视化映射,请添加由SP及其所依赖的表名组成的通用文本文件.
无论如何,数据库越大,将模式的细节内联到应用程序代码中的工作就越糟糕.当您使用SP时,您可以保证此功能不会加倍,并且在没有应用程序recompilation和redistribution的情况下,大多数更改将发生在DB端.
Upd个
我忘了提到另外一件事.好的数据库工具提供了查找每个SP的从属表的简单方法.例如,在Microsoft SQL Management Studio的SP上下文菜单中有"查看依赖项"项.