Oracle guide SUBHEADER
oracle pl sql error
As you view pages on the Web, you’ll find information that you'd like to save for future reference or share with other people. You can save the entire Web page or any part of it: text, graphics, or links. You can print Web pages for people who don’t have access to the Web or a computer.

Con le Oracle query è possibile recuperare i dati in base ad una relazione esistente tra le righe di una tabella. In un database Oracle i dati non vengono memorizzati in modo gerarchico,tuttavia, se esiste una relazione gerarchica tra le righe di una singola tabella, è possibile creare una gerarchia tramite un processo di esame della struttura ad albero. Per query gerarchica si intende un metodo per restituire in un determinato ordine le diramazioni di una struttura ad albero. Si pensi ad un albero genealogico in cui i componenti più anziani sono indicati in corrispondenza della base e quelli più giovani rappresentano le diramazioni che a loro volta possono presentare altre diramazioni e così via.

Le strutture gerarchiche vengono applicate in vari campi quali alberi genealogici, allevamento del bestiame, gestione aziendale (gerarchie), produzione (assemblaggio prodotti), ricerca nel settore evolutivo (sviluppo della specie) e ricerca scientifica.

La sintassi è:

SELECT [LEVEL] , colonna, espr FROM tabella [WHERE condizione(i)] --> sarebbe espr operatore_di_confronto espr [START WITH condizione(i)] [CONNECT BY PRIOR condizione(i)]

LEVEL: perciascuna riga restituita, questa pseudo-colonna restituisce 1 per una riga radice, 2 per un figlio di una radice e così via FROM tabella: tabella, vista o snapshot contenente le colonne (solo una tabella) WHERE: consente di limitare il numero di righe restituite dalla query senza influire su altre righe della gerarchia espressione: è un confronto senza espressioni START WITH: specifica le righe radice della gerarchia, ossia il punto di partenza CONNECT BY PRIOR: specifica le colonne in cui esiste la relazione tra righe padre e righe figlio

La SELECT non può contenere un'operazione di JOIN o una query presente in una vista che contiene un'operazione di JOIN.

La riga o le righe da utilizzare come radice dell'albero sono determinate dalla START WITH, utilizzabile unitamente a qualsiasi condizione valida: START WITH manager_id IS NULL START WITH last_name = 'Pluto' START WITH employee_id = (SELECT employee_id FROM employees WHERE last_name = 'Pluto')

La direzione della query (da padre a figlio o da figlio a padre) è determinata dalla posizione della colonna CONNECT BY PRIOR; PRIOR è riferito alla colonna padre; per trovare il figlio di una colonna padre, Oracle valuta la PRIOR per la riga padre e le altre espressioni per ciascuna riga della tabella. Le righe per le quali la condizione risulta vera rappresentano i figli della riga padre. Oracle seleziona i figli valutando la condizione CONNECT BY rispetto ad una riga padre corrente.

Direzione:     top-down ==> colonna1 = chiave padre, colonna2 = chiave figlio                     bottom-up ==> colonna1 = chiave figlio, colonna2 = chiave padre CONNECT BY PRIOR employee_id = manager_id CONNECT BY PRIOR manager_id = employee_id Il PRIOR si può mettere anche staccato dal CONNECT BY: CONNECT BY employee_id = PRIOR manager_id

La CONNECT BY non può contenere una subquery.

Oracle news Oracle guide
     
  29-11-2006 Guida Oracle 10g
     
  30-02-2007 Oracle Server
     
  29-02-2007 Oracle Errors
Functions Oracle Functions
Delete Delete
Between Between
Check Check
Count Count
Datatypes Datatypes
Delete Oracle Delete Statement
Distinct Distinct
Exists Exists
Functions Functions
Grant revoke Grant Revoke
Group by Oracle Group by
Having Having
Oracle Function in Oracle Function in
Indexes Indexes
Insert Insert
Intersect Intersect
Isnull Is null
Joins Joins
Substr Substr
Oracle Functions PLSQL  l Consulenza Software Verona  l  Siti Web Verona  l   Exceptions  l  Oracle Errors  l  Oracle Collaborations Suite  l  Products  l  Contact
Oracle errors ora