Как оказалось есть UUID. но нет функции-генератора.
Так что я поменял тип возвращаемого результата на UUID.
В данный момент работаю над переходом с MSSQL на бесплатный PostgreSQL.
Первое, на что напоролся - GUID`ов НЕТ!
Поковырял функции постгреса и написал замену:
drop function newid();
create or replace function newid() returns uuid
as $$
DECLARE r varchar='';
chars varchar='0123456789abcdef';
i int:=1;
pos int=0;
one_char varchar(1);
begin
while i<=32 LOOP
pos=round(random()*15)+1;
one_char=cast (substr(chars,pos, 1) as varchar);
r=r||one_char;
if (length(r) in (8,13,18,23)) then r=r||'-'; end if;
i=i+1;
end LOOP;
return r;
end
$$
LANGUAGE 'plpgsql';
Комментариев нет:
Отправить комментарий