Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新Oracle包中的单个过程_Oracle_Plsql_Oracle10g - Fatal编程技术网

更新Oracle包中的单个过程

更新Oracle包中的单个过程,oracle,plsql,oracle10g,Oracle,Plsql,Oracle10g,使用oracle10g 我正在写一个脚本,将开发系统上的增量更改应用到舞台系统中 有没有一种方法可以在包中修改或插入单个过程,而不在脚本中包含整个包的内容?我认为答案是否定的,但我想确定一下,因为在改动很小的情况下,必须包含任何修改包的全部内容,这将非常难看。对不起,但你的直觉是正确的。变更单位为包体 但我不知道你为什么认为这很难看。当然,这只是为包调用脚本的问题?不,包体必须作为一个整体替换。与在单个脚本中包含多个包的代码不同,我将根据包规范创建一个文件,并根据包体创建一个文件。然后,您可以编

使用oracle10g

我正在写一个脚本,将开发系统上的增量更改应用到舞台系统中


有没有一种方法可以在包中修改或插入单个过程,而不在脚本中包含整个包的内容?我认为答案是否定的,但我想确定一下,因为在改动很小的情况下,必须包含任何修改包的全部内容,这将非常难看。

对不起,但你的直觉是正确的。变更单位为包体


但我不知道你为什么认为这很难看。当然,这只是为包调用脚本的问题?

不,包体必须作为一个整体替换。与在单个脚本中包含多个包的代码不同,我将根据包规范创建一个文件,并根据包体创建一个文件。然后,您可以编写“元脚本”,在SQL Plus中运行所需的包更改:

@@package1.spc
@@package1.bdy
@@package2.bdy

我也面临同样的问题。只需为频繁更改的过程创建单独的包。

您可以进一步分解此概念,并在包头和包体中为每个过程创建一个文件。通过这种方式,您的“元脚本”可以在构建时将其所需的部分整合在一起,但它使源代码管理系统中的更改跟踪更容易,尤其是对于大型过程。您的意思是将包体的脚本分解为多个文件,每个包体过程都在一个单独的文件中?嗯。我想我应该避免这样。使用diff在单个文件中更容易跟踪更改。不,不,不,我不是这个意思!每个文件都包含一个完整的软件包规范或正文。如果看起来很难看,可能是因为您的软件包太大了e、 g.如果太多不相关的过程和功能被捆绑到“超级包”中,那么最好将它们按照逻辑线拆分为单独的包。