GUID поля
GUID поля
Подскажите пожалуйста как реализовать GUID поля с автоматической генерацией при добавлении записи ???
Re: GUID поля
Вы можете использовать следующий код:, где таблица test_guid имеет следующую структуру:Более подробную информацию об использовании UUID и GUID вы можете найти по следующей ссылке: http://www.firebirdfaq.org/faq98/
Также, можно генерировать GUID на клиенте, например так:, где таблица test_guid1 имеет следующую структуру:
Код: Выделить всё
begin
IBCQuery1.Options.ReturnParams := True;
IBCQuery1.SQL.Text := 'select * from test_guid';
IBCQuery1.SQLInsert.Text := 'insert into test_guid(id, gd) values(:id, GEN_UUID()) returning gd';
IBCQuery1.Open;
end;
Код: Выделить всё
CREATE TABLE TEST_GUID (
ID INTEGER PRIMARY KEY,
GD CHAR(16) CHARACTER SET OCTETS
);
Также, можно генерировать GUID на клиенте, например так:
Код: Выделить всё
var
gd: TGUID;
begin
IBCQuery1.SQL.Text := 'select * from test_guid1';
IBCQuery1.Open;
IBCQuery1.Insert;
IBCQuery1.FieldByName('id').AsInteger := 1;
CreateGUID(gd);
IBCQuery1.FieldByName('gd').AsString := GUIDToString(gd);
IBCQuery1.Post;
end;
Код: Выделить всё
CREATE TABLE TEST_GUID1 (
ID INTEGER PRIMARY KEY,
GD VARCHAR(38)
);
Re: GUID поля
Спасибо =)
Re: GUID поля
Я рад что смог помочь.