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

Nel rispetto della normativa sul trattamento dei dati personali (GDPR n. 679/2016) puoi scegliere di commentare questo post usando il tuo account Google, oppure avvalerti delle opzioni Anonimo o Nome/URL disponibili dal menù a tendina in questo form. In ogni caso, nessuno dei tuoi dati personali verrà usato dall'amministratore di questo blog né venduto a terzi. Per tutelare la sicurezza dei lettori i commenti postati dagli utenti che contengano link cliccabili saranno cancellati. Spunta Inviami notifiche per continuare a seguire i commenti del post.

Potrebbe interessarti...
Ultimo articolo pubblicato:
Netflix per 12 mesi a 2 euro - È una TRUFFA!


Ideale per la scuola media! ad 
Lenovo Tab M10 FHD Plus (2nd Gen) Tablet - Display 10.3" FHD (MediaTek Helio P22T,Storage 64GB Espandibile fino ad 1TB,RAM 4GB,WiFi+Bluetooth,4G LTE,2 Speaker,Android 9 Pie) Grigio – Esclusiva Amazon