ncowboy

导航

我的pg上的上,sql-server-style的new_uuid

shell里面,建立语言:
[postgres@lacl-001 /root]$createlang -d lacl plpgsql
然后到psql里面创建一个函数new-uuid():
CREATE OR REPLACE FUNCTION new_uuid()
  RETURNS text AS
'
declare
vWork1 text;
vWork2 text;
vMac text;
begin
-- replace vMac with the mac of your own box
vMac=\'00:0D:56:FD:A0:DB\';
vWork1 := md5(vMAC || now());
vWork2 := SUBSTRING(vWork1, 1, 8) ||\'-\'|| SUBSTRING(vWork1,9,4) ||\'-\'|| SUBSTRING(vWork1,13,4) ||\'-\'|| SUBSTRING(vWork1,17,4) ||\'-\'|| SUBSTRING(vWork1,21,12);
RETURN cast(vWork2 as varchar(36));
end;
'
  LANGUAGE 'plpgsql' VOLATILE;

posted on 2004-10-03 14:52  35号房客  阅读(540)  评论(0编辑  收藏  举报