更新Oracle包中的单个过程
使用oracle10g 我正在写一个脚本,将开发系统上的增量更改应用到舞台系统中更新Oracle包中的单个过程,oracle,plsql,oracle10g,Oracle,Plsql,Oracle10g,使用oracle10g 我正在写一个脚本,将开发系统上的增量更改应用到舞台系统中 有没有一种方法可以在包中修改或插入单个过程,而不在脚本中包含整个包的内容?我认为答案是否定的,但我想确定一下,因为在改动很小的情况下,必须包含任何修改包的全部内容,这将非常难看。对不起,但你的直觉是正确的。变更单位为包体 但我不知道你为什么认为这很难看。当然,这只是为包调用脚本的问题?不,包体必须作为一个整体替换。与在单个脚本中包含多个包的代码不同,我将根据包规范创建一个文件,并根据包体创建一个文件。然后,您可以编
有没有一种方法可以在包中修改或插入单个过程,而不在脚本中包含整个包的内容?我认为答案是否定的,但我想确定一下,因为在改动很小的情况下,必须包含任何修改包的全部内容,这将非常难看。对不起,但你的直觉是正确的。变更单位为包体
但我不知道你为什么认为这很难看。当然,这只是为包调用脚本的问题?不,包体必须作为一个整体替换。与在单个脚本中包含多个包的代码不同,我将根据包规范创建一个文件,并根据包体创建一个文件。然后,您可以编写“元脚本”,在SQL Plus中运行所需的包更改:
@@package1.spc
@@package1.bdy
@@package2.bdy
我也面临同样的问题。只需为频繁更改的过程创建单独的包。您可以进一步分解此概念,并在包头和包体中为每个过程创建一个文件。通过这种方式,您的“元脚本”可以在构建时将其所需的部分整合在一起,但它使源代码管理系统中的更改跟踪更容易,尤其是对于大型过程。您的意思是将包体的脚本分解为多个文件,每个包体过程都在一个单独的文件中?嗯。我想我应该避免这样。使用diff在单个文件中更容易跟踪更改。不,不,不,我不是这个意思!每个文件都包含一个完整的软件包规范或正文。如果看起来很难看,可能是因为您的软件包太大了e、 g.如果太多不相关的过程和功能被捆绑到“超级包”中,那么最好将它们按照逻辑线拆分为单独的包。