Quello che farei per disaccoppiare l'applicativo dal DB specifico è:Originariamente inviato da Shadow976
?
E come creeresti allora quel campo integer da candidare a chiave primaria? Suppongo comunque con un sistema che si incrementi di 1 ad ogni inserimeto, ma lasciando l'incomodo dell'incremento all'applicazione e non al database? Ho capito bene?
1. sul DB: lasciare comunque le primary key come numerici (ma non auto-incrementali)
2. sul DB: utilizzare o simulare l'uso di oggetti "sequence". Nel caso di DB che non lo prevedano, è sufficiente definire una tabella e un paio di stored function che facciano il lavoro di incrementare e restituirti i valori dei tuoi contatori. Soluzione legata ovviamente al DB che usi, ma il tuo applicativo non se ne accorge.
3. lato applicativo: gestire le funzionalità leggendo e/o aggiornando queste sequences in fase di inserimento.