首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle过程vs MS procedures vs Oracle程序包

Oracle过程vs MS procedures vs Oracle程序包
EN

Stack Overflow用户
提问于 2011-05-13 03:49:15
回答 4查看 2.3K关注 0票数 2

有人告诉我,在Oracle中创建过程时,应该创建一个包含过程的包。这句话是真的吗?MS中的过程与Oracle中的过程相同吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-13 07:09:33

您不必将过程和函数放在包中,但这通常被认为是最佳实践。根据功能将它们捆绑在一起,这样组织起来就容易多了。

这方面的一个例外是AUTHID clause。它只能为整个包或独立的过程/函数指定。单个包中的不同过程不能具有不同的权限。

票数 3
EN

Stack Overflow用户

发布于 2011-05-13 03:50:55

Oracle和MS中的过程类似,但在Oracle中,您可以创建一个包来声明该过程,然后在包体中定义该过程

This提供了一些关于如何构建Oracle包的好信息

票数 3
EN

Stack Overflow用户

发布于 2011-05-13 09:41:10

Oracle和SQL Server (或MySQL、PostgreSQL等)之间的存储过程和函数非常相似。SQL函数旨在始终返回SQL数据类型;存储过程可以返回SQL数据类型,但默认情况下不返回。

Oracle包是一个很棒的工具。

Oracle

  • SQL Server有程序集,但它们不像Oracle包那样可以立即访问。Oracle

  • 除了是函数和存储过程的容器外,当其他替代方案仅通过函数公开时,它还支持变量声明。

  • Oracle包还允许对功能进行逻辑分组,而不需要设置模式(用于命名空间)。由于包中包含的内容,需要部署包--而不是单独部署函数/存储过程。

  • 我唯一的遗憾是,在IME (Oracle9i,10g)中,当跟踪引用时,您不能深入到特定的函数/存储过程/行。

不需要您使用Oracle包,但使用它们与不使用包相比,您确实会从中受益。我不明白为什么其他供应商没有用他们自己的方式复制这个功能。

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

https://stackoverflow.com/questions/5983629

复制
相关文章

相似问题

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