我是PL / SQL的新手,我正在尝试创建一个包,其中将包含已经创建并存储到数据库中的过程和函数。有没有一种方法可以简单地使用已经创建的过程/函数,或者我只需要在包体内重新创建它们即可?
答案 0 :(得分:1)
如果已在数据库上创建了过程/函数,则可以在基于相同模式创建的任何Package中使用它们,而无需在Package内部重新创建它们。 如果过程/函数是在不同于Package的架构上创建的,那么您所要做的就是为要在其中部署Package的架构提供对过程/函数的执行特权。在Package内部,只需在前面附加所有者模式(owner_schema.function_name(parameter))即可调用过程/函数。
希望这会有所帮助。
答案 1 :(得分:0)
通常,软件包用于提供模块化和易于更新的工作。这就是为什么您必须在程序包中创建过程/功能的原因。 但是,这并不意味着您不能调用外部编写的过程/函数。您必须创建一个proc / function并在其中调用外部proc / function,这会增加您的工作量。
因此,最好将您的工作与包装中的一个模块相关。 简而言之,请在包内创建过程/函数。