| Auto Increment con FireBird | |
|
in: Guide RDBMS So/Code: Generico Data: 23/01/2012 Ora: 12.30:21 Articolo visualizzato: 1031 volte |
|
![]()
Nativamente firebird non supporta i campi autoincrementanti (AUTO INCREMENT) ma è possibile crearli utilizzando i TRIGGER e GENERATOR.
I GENERATOR sono contatori interi che risiedono nel database di Firebird ed e possibile crearne per poi utilizzarli con i TRIGGER , che invece , sono procedure che possono essere attivate automaticamente dopo un operazione di Aggiornamento o Insertimento (INSERT UPDATE DELETE).
Per simulare i campi autoincrementanti di una tabella "TabPro" con un campo "ID" di tipo integer utilizzeremo i trigger e i generator in questo modo.
Come prima cosa creiamo un GENERATOR
CREATE GENERATOR IdAuto;
E settiamolo a 0
SET GENERATOR IdAuto TO 0;
Per attivare il IdAuto ad ogni inserimento creiamo un Trigger BEFORE INSERT cio è prima della query di inserimento.
set term !! ;
CREATE TRIGGER TabellaAuto FOR TabPro
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
if (TabPro.ID is NULL) then TabPro.ID = GEN_ID(IdAuto , 1);
END!!
set term ; !!
Lanciando una query di insert e lasciando il campo "ID" a NULL il GENRATOR IdAuto verrà incrementato di uno e ID prenderà l'ultimo valore del generator.
Inoltre è possibile ricevere come risultato della INSERT l'ID assegnato al record.
INSERT INTO TabPro(campo) VALUES('altro') RETURNING ID;
Per problemi o chiarimenti è presente il forum.
| |
| |
Articoli Correlati
| Auto Increment con FireBird |
| Firebird - Conversione Dialect |
| Grand Theft Auto III - Disponibile su Market e Store |
| Ps Vita - Grand Theft Auto IV Stories? Rumors |
| Grand Theft Auto III - 15 dicembre in arrivo su Android e iOS |
Commenti
| Da: camry slip covers Ora:16.13:34 Data: 22/03/2013
It is not easy to determine the field of auto repairs without any prior knowledge. You will be amazed at the data that you find out. |
Scrivi Commento















Commenti (1) |
Autore: Guido Camerlingo (

Naviga nel nostro



![Validate my RSS feed [Valid RSS]](img/valid-rss.png)
