Header
Auto Increment con FireBird
in: Guide RDBMS  So/Code: Generico Data: 23/01/2012
Ora: 12.30:21
Articolo visualizzato: 4002 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.

Commenti Commenti (1) | User Autore: Guido Camerlingo (Guiz)
Tags: come fare firebird auto inc auto increment campi auto incrementanti trigger generator guida





Articoli Correlati
Auto Increment con FireBird
Firebird - Conversione Dialect
Interbase e Firebird connessione tramite ODBC Driver
Grand Theft Auto III - Disponibile su Market e Store
Ps Vita - Grand Theft Auto IV Stories? Rumors

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
Codice Verifica

Commento massimo 5000 caratteri.(Tutti i campi contrassegnati da * sono obbligatori).

   

Ricerca

Glossario Naviga nel nostro glossario!
Scopri il gergo dei Geek!


 ULTIMI ARTICOLI

329 giorni fa
550 giorni fa

 [EN] Last Articles

 Siti Amici

Visita il Blog Roll
Contattaci! Diventa nostro amico!



 Hot Downloads


 Categorie

85
163
58
87
13
2
20
36
1
2
5
5
128
7
24
15
62
45

 Code

11
11
3
6
2
24
1
7

 Games

19
45
13

 GUIDE


 Novità Downloads

70
68
3842

 Tags Cloud

2015 minipci iphone minecraft date aggiungere capacitivo neri Mappa concorrente scheda research Mappa N8 social N8 Telltale risoluzione 3D 2011



 CopyRight

Valid XHTML 1.0 Transitional CSS Valido! [Valid RSS] Creative Commons License


Geek-Blog by Flavio Mandato, Giuseppe Vaccaro, Guido Camerlingo, Stefano Natale, Domenico Cavallo is licensed under a Creative Commons Attribuzione-Non opere derivate 2.5 Italia License.
Based on a work at www.geek-blog.it.
Permissions beyond the scope of this license may be available at http://www.geek-blog.it/

Disclaimer - Responsabilità - Pagina generata in 0.113 secondi. Geek-Blog.it