首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于扩展存储过程的思考

关于扩展存储过程的思考
EN

Stack Overflow用户
提问于 2010-02-19 22:25:21
回答 3查看 183关注 0票数 1

我希望使用SQL Server或任何其他RDBMS中没有的函数和逻辑在数据库中插入和更新记录。今天早上我在谷歌上搜索了一下,发现了扩展存储过程的概念。据我所知,我应该能够将所需功能编译到dll中,并利用该dll进行存储过程来执行插入/更新。

然而,我遇到的大多数文章和示例都有些过时(~2000)。扩展存储过程仍然是一种可接受的实践吗?我远不是这方面的专家,所以任何其他的建议或意见都将非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-19 22:29:04

如果您使用的是SQL Server2005或更高版本,则需要查看SQL CLR。您可以从SQL Server内部调用.NET代码。

关于MSDN的This文章是一个很好的起点。

票数 8
EN

Stack Overflow用户

发布于 2010-02-20 02:37:07

扩展存储过程仍然是一种可接受的做法吗?

不,它们被正式弃用,并将在未来的版本中继续使用。请参见SQL Server未来版本中不支持的功能表中的Deprecated Database Engine Features in SQL Server 2008

  • 扩展存储过程编程:改用CLR集成。
票数 2
EN

Stack Overflow用户

发布于 2010-02-20 02:47:40

我通常建议不要使用CLR过程,在大多数情况下,您可以将面临的问题重构为Transact Sql可以处理的东西。最值得关注的是,当关系数据库在执行基于集合的操作时表现最佳时,经常伴随着CLR过程的过程方法。

所以我总是问的第一个问题是,有没有办法将问题重构为基于集合的操作。

如果不是,那么我会问,为什么要在数据库服务器内部执行代码,而不是在应用层?考虑一下将逻辑放在数据库中可能会产生的性能影响。(如果您的数据库服务器有足够的额外处理时间,这可能不是问题)。

如果您确实使用CLR过程,我认为它们最适用于密集的计算和复杂的逻辑。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2296944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档