2014-09-10 32 views
0

我有幾個包,它們的一些規範和正文行相同,所以我想將所有相同的代碼放在Common包中,共享該軟件包。 對於過程體來說,它並不像我在我的Common包中定義Main過程那麼困難,而是在其他包中使用它,但是我怎樣才能爲規範做同樣的事情?PL/SQL,如何將公共包中的通用代碼行放在共享包中

假設我有一些共同的變量或常量變量:

CNST_S_DATA_MINIMA constant  varchar2 (10) := '1900-01-01'; 
CNST_D_DATA_MINIMA constant  date := To_date (CNST_S_DATA_MINIMA, CNST_S_FORMATO_DATE); 
ERR__VOID_PARAMETER EXCEPTION; 
+1

他們的規格是什麼部分是相同的?你能[編輯]並添加一個例子嗎? – Sathya 2014-09-10 09:36:33

+0

請添加一些工作示例。而且,你不使用通用包來減少行數。您可以使用它們爲其他軟件包提供通用功能。 PL/SQL是一種全面的面向對象編程語言。您必須利用面向對象的功能才能實現更好的目的,而不僅僅是保存代碼行。 – Rachcha 2014-09-10 09:42:58

+0

您能否舉一個例子來說明如何利用面向對象的功能? – Majico 2014-09-10 09:56:20

回答

2

簡單地把它們放進一個用作用於這種全局常量容器中的封裝的封裝規格(不體)。

+0

我知道我在包規範中定義的是Public,但其他包如何知道這些varibales和常量已經被定義,而無需逐一調用它們(pkg_A.variable1)?無論如何,要在另一個包中導入一個包? – Majico 2014-09-10 11:27:57

+0

不是我所知道的......但有一件事你可以做:在'PKG_B'中定義這樣的常量:'CNST_S_DATA_MINIMA constant varchar2(10):= PKG_A.CNST_S_DATA_MINIMA;';所以你只有一個地方的真實價值(幹)。 – 2014-09-10 11:37:20

+0

,但這意味着我的包裝中寫入的行數與我以前的行數相同,而我想要擁有Common_PKG的主要原因是爲了分隔重複的行並儘量減少行數! – Majico 2014-09-10 11:41:46

相關問題