Registriert seit: 5. Okt 2007
331 Beiträge
Delphi XE2 Professional
|
AW: Firebird Autoincrement
1. Dez 2016, 12:37
per Quellcode anlegen
Delphi-Quellcode:
// table
q.SQL.Add(' CREATE TABLE MyTableName (');
q.SQL.Add(' ID INTEGER NOT NULL,');
q.SQL.Add(' MyText VARCHAR(75) COLLATE UNICODE,');
q.SQL.Add(' MyValue FLOAT DEFAULT 0,');
q.SQL.Add(' CONSTRAINT PK_MyTableName PRIMARY KEY (ID))');
q.ExecSQL;
// Generator
q.SQL.Clear;
q.SQL.Add(' CREATE GENERATOR MyTableName_GEN');
q.ExecSQL;
q.SQL.Clear;
q.SQL.Add(' SET GENERATOR MyTableName_GEN TO 0');
q.ExecSQL;
// Trigger
q.SQL.Clear;
q.SQL.Add(' CREATE TRIGGER ID FOR MyTableName ACTIVE BEFORE INSERT POSITION 0 AS');
q.SQL.Add(' begin');
q.SQL.Add(' if ( (new.ID is null) or (new.ID = 0) )');
q.SQL.Add(' then new.ID = gen_id(MyTableName_GEN, 1);');
q.SQL.Add(' end');
q.ExecSQL;
|
|
Zitat
|