mercoledì 13 febbraio 2013

Oracle - Limitazioni per l'utilizzo delle sequence

Stai utilizzando un DB Oracle e ti si è presentato l'errore "ORA-02287 numero di sequenza non consentito in questo caso". L'articolo ti spiega rapidamente come risolvere.

[se non leggi bene l'articolo vai sul blog http://vincenzomiccolis.blogspot.it/ o sulla versione mobile http://bit.ly/AeHvgL]

Ciao Vincent, ho visto che scrivi a volte i Oracle. Spero tu possa aiutarmi. Ho necesità di utilizzare il valore di una sequence in una mia select ma mi dà questo errore Oracle "ORA-02287 numero di sequenza non consentito in questo caso". Non mi sembra di aver commesso errori nella scrittura dell'SQL.
bds
Ciao bds e grazie per il contatto. Ricordo sempre che il mio indirizzo email vm_tempbox-perparlarediweb[at]yahoo.it e tutti i riferimenti del blog sono a completa disposizione di chi volesse fare domande o proporre argomenti. 

Con le istruzioni che stai provando avrei potuto fare meglio, ma proverò comunque a risponderti. 

L'errore è certamente dovuto ad un utilizzo non previsto per i valori CURRVAL o NEXTVAL delle sequence Oracle che presentano alcune limitazioni su questi costrutti (vedi OTN Discussion Forums : ORA-02287: sequence number not allowed [EN] sotto nei Link utili):
- Una subquery in isruzioni di DELETE, SELECT, o UPDATE
- La query di una vista o di una vista materializzata
- Un'istruzione di SELECT con l'operatore DISTINCT
- Un'istruzione di SELECT con una clausola GROUP BY o ORDER BY
- Un'istruzione di SELECT combinata con un'altra istruzione di SELECT con operatore UNION, INTERSECT, o MINUS 
- La clausola WHERE di un'altra istruzione di SELECT
- Il valore di DEFAULT di una colonna in una istruzione CREATE TABLE o ALTER TABLE
- La condizione di un CHECK constraint

Vi sono comunque alcuni accorgimenti che permettono di superare in parte queste limitazioni (vedi ORA-02287 - Oracle FAQ [EN] sotto nei Link utili).

Per ulteriori dettagli sulle sequence vedi Oracle/PLSQL: Sequences (autonumber) [EN] sotto nei Link utili.

(continua sotto)
promo
Alla prossima!
Se il post ti piace condividilo su Facebook
Tieni d'occhio questo post e i suoi commenti: iscriviti nella parte destra del blog.
Per qualsiasi dubbio, critica, segnalazione scrivimi a vm_tempbox-perparlarediweb[at]yahoo.it
Ricevi gratuitamente tutti i miei aggiornamenti del blog direttamente dal feed RSS ed in email.
Visita la mia pagina su Facebook e diventa fan. Segui @vincentmiccolis su Twitter dove oltre ai link agli articoli del blog condivido i link delle mie letture in tempo reale.
Istalla la toolbar del blog... è gratis!

ORA-02287: sequence number not allowed here - dBforums [EN]
ORA-02287 - Oracle FAQ [EN]
Oracle/PLSQL: Sequences (autonumber) [EN]

Siti consultati:
techonthenet.com/ [EN]



Per leggere i post con più chiarezza ed un allineamento adattato agli schermi più piccoli di iPhone e smartphone usa la versione mobile. Vai a http://bit.ly/AeHvgL oppure clicca/scansiona il QR code quì sotto.


Download: Fast, Fun, Awesome

DISCLAIMER: Il contenuto dei miei articoli è reso disponibile così com'è. Per Parlare di Web non offre alcuna garanzia sui contenuti che sono forniti a solo scopo di intrattenimento e/o didattico con l'obiettivo di fare da spunto di riflessione per il lettore proponendo idee, concetti e recensioni di prodotti e servizi tecnologici. Il blog Per Parlare di Web non si assume alcuna responsabilità per ogni conseguenza dannosa che possa risultare al lettore dall'adozione di indicazioni descritte nei nostri articoli e nelle nostre guide hardware e software.

Nessun commento:

Posta un commento