一般书中都提到了优点。请问存储过程的缺点是什么?使用触发器的缺点又是什么?

beihua 2002-03-18 10:04:25
加精
一般书中都提到了优点。请问存储过程的缺点是什么?使用触发器的缺点又是什么?
...全文
427 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
Modern_tiger 2002-03-25
  • 打赏
  • 举报
回复
只说缺点:

1.调试都很麻烦。(幸好还有Toad)
2.代码容量有限制,加代码时经常被迫分割一个现成的过程,甚至一个触发器都要调用n个过程才能完成功能。
3.不能向C一样移来移去。

写程序最恨被自己或别人以前留下的石头崴了脚,这才是最恨。
Modern_tiger 2002-03-25
  • 打赏
  • 举报
回复
只说缺点:

1.调试都很麻烦。(幸好还有Toad)
2.代码容量有限制,加代码时经常被迫分割一个现成的过程,甚至一个触发器都要调用n个过程才能完成功能。
3.不能向C一样移来移去。

写程序最恨被自己或别人以前留下的石头崴了脚,这才是最恨。
miaomiaoga 2002-03-24
  • 打赏
  • 举报
回复
觸發器像三節棍~~~容易打回自己~
ruomu1977 2002-03-24
  • 打赏
  • 举报
回复
关注中!
kkk321 2002-03-24
  • 打赏
  • 举报
回复
我觉得触发器不好,尤其涉及到分布式数据库时就出问题了!
beihua 2002-03-23
  • 打赏
  • 举报
回复
还有大虾要说吗?如果没有我就放分了?
商海连横 2002-03-22
  • 打赏
  • 举报
回复
出来逛逛,学习!
jjy1111 2002-03-22
  • 打赏
  • 举报
回复
存储过程的一个重要的作用是把相应的业务流程封装
但这种封装,使移植困难,修改流程困难
流行的做法现在是放在应用中,如组件技术的使用
这样对于这种功能的扩展只要增加组件,而不是
满地球找存储过程修改,而且这种修改的代价也是大的

xjg 2002-03-22
  • 打赏
  • 举报
回复
除了各种数据库间移植不方便外,存储过程还是有其很大优势的,主要还是效率比较好,至于代码的安全性,相信各种数据库都有它的解决方案,如Oracle就提供了一个叫Wrap的实用工具。
触发器在我看来应该尽量少用,还是因为效率问题
yinguangbo 2002-03-22
  • 打赏
  • 举报
回复
我觉得存储过程和触发器都是挺好的,部署数据库的时候用全备份恢复还是不错的
Justin73 2002-03-21
  • 打赏
  • 举报
回复
存储过程的使用可减少客户端开发的工作量,特别是对于一个项目组搞开发,作客户端的比做服务器端的要多的多,一般来说高手都是作服务器部分。很多在客户端难于解决的数据处理问题必须在服务器端处理,无论在那做函数,包,还是存储过程等,其实都是为减少项目工作量为目的。
其实没有必要强求那方面的优越性。
对于安全性问题,我觉得不存在看服务器中存储过程的问题,除非是供应商不希望使用客户的DBA看到(其实没那必要)。只要用户权限设置的好,没有理由让不希望的登陆用户看到不应该看到的信息,除非DBA的水平太烂!
speed2 2002-03-21
  • 打赏
  • 举报
回复
项目开发前期在系统设计中采用层次结构,将数据库操作与业务逻辑分离,首先保证系统扩展性,在后期优化时对数据库瓶颈部分采用存储过程优化
gssy 2002-03-21
  • 打赏
  • 举报
回复
SP提高系统效率, tr 处理一部分业务逻辑. 怎样用根据具体系统而定, 我偏向使用sp, tr 就少一点. 合理的编排对提高系统性能有好处
lbluekey 2002-03-21
  • 打赏
  • 举报
回复
其实SP可以大大提高系统效率,比如可以避免中间数据在数据库和应用服务器之间的频繁交换,而其代码经过编译,效率也提高很多
dansan 2002-03-21
  • 打赏
  • 举报
回复
我觉得不要用SP,因为完全有其他方法替代;迫不得已的时候才用触发器
rollback 2002-03-20
  • 打赏
  • 举报
回复
刚才说的是在sql server 中,不是在oracle中,不好意思:-(
rollback 2002-03-20
  • 打赏
  • 举报
回复
回复人: h_S2000(h_S2000) ( ) 信誉:100 2002-3-19 19:07:43 得分:0

还要说明的一点就是存储过程 没有很好的保密性 源代码可以随便看的到

××××××××××××××××××××××××
其实存储过程师可以消除的
在syscomments表中

例如:
update syscomments set text="AAA"
go
sp_configure "update",0
go
reconfigure with overide
go



LikePig 2002-03-20
  • 打赏
  • 举报
回复
mark
h2plus0 2002-03-20
  • 打赏
  • 举报
回复
to h_S2000,
在sqlserver中, sp也是可以加密的,用 with encrypt,
不用改syscomment表

ljpxyxc 2002-03-20
  • 打赏
  • 举报
回复
触发器的主权要问题是:当你进行尤其是更新时会影响速度。
存储过程,是个好东东,大用无烦。
加载更多回复(23)

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧