2012-10-17 6 views
10

ho cercato di Google, ma non ho trovato alcuna risposta soddisfacente sul perché dovrei usare pacchetti.Oracle - Perché dovrei usare i pacchetti invece di procedure autonome o funzioni

So che un pacchetto è un insieme di procedure, funzioni e variabili diverse. Da quanto ho capito, corrisponde all'oggetto in OOP. Ma ovviamente non c'è niente come istanziare istanze diverse di un pacchetto in modo che ogni istanza abbia valori di proprietà diversi e si comportino diversamente.

Allora qual è il vantaggio di utilizzare pacchetti quando posso creare una procedura autonoma e chiamarlo in modo indipendente?

+2

[d'opinione di Tom Kyte] (http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:7452431376537) –

+3

I pacchetti sono ** non ** su "oggetti". Un "TIPO" di Oracle (oggetto) con la possibilità di avere i propri metodi e costruttori è la cosa equivalente a un oggetto in OOP. –

risposta

23

pacchetti forniscono i seguenti vantaggi:

  1. coesione: tutte le procedure e le funzioni relative a un sottosistema specfic sono in un'unità di programma. Questa è solo una buona pratica di progettazione, ma è anche più facile da gestire, ad es. nel controllo del codice sorgente.
  2. Costanti, sotto-tipi e altre cose utili: non c'è più per PL/SQL di stored procedure. Tutto ciò che possiamo definire in una specifica del pacchetto può essere condiviso con altri programmi, ad esempio le eccezioni definite dall'utente.
  3. Sovraccarico: la possibilità di definire una procedura o una funzione con lo stesso nome ma diverse firme.
  4. sicurezza: definizione di procedure privati ​​nel corpo del pacchetto che può essere utilizzata solo dal pacchetto perché non sono esposti nella specifica.
  5. Condivisione di codice comune: un altro vantaggio delle procedure private.
  6. Abbiamo solo bisogno di concedere EXECUTE su un pacchetto piuttosto che su diverse procedure.
10

Come descritto nel Oracle docs, pacchetti sono buone a causa di:

  • modularità
  • più facile la progettazione di applicazioni
  • information hiding
  • aggiunto funzionalità
  • migliori prestazioni

Dettagli o n ogni motivo sono spiegati in documenti.

Problemi correlati