由于我在使用hibernate的时候,其中有两个表是没有主键的,我嫌麻烦,就想添加一个主键,但是又必须遵循数据库中那些方面的原则。
所以:
psql -U postgres openbravopos<./get_uuid.sql
在数据库中没有函数get_uuid.sql中导入此函数。
添加一个列, character varying(32)类型。
update table set id=get_uuid();
在强制处新增主键。
关于get_uuid.sql,我已上传到我的资源里面,可以免费下载。
其实关于get_uuid.sql就是一个函数:
CREATE FUNCTION uuid_generate_v4() RETURNS uuid
LANGUAGE c STRICT
AS '$libdir/uuid-ossp', 'uuid_generate_v4';
ALTER FUNCTION public.uuid_generate_v4() OWNER TO tad;
CREATE FUNCTION get_uuid() RETURNS character varying
LANGUAGE plpgsql
AS $$ DECLARE
var VARCHAR:=uuid_generate_v4();
BEGIN
WHILE var=uuid_generate_v4()::varchar LOOP
END LOOP;
return replace(upper(uuid_generate_v4()::varchar),'-','');
END; $$;
ALTER FUNCTION public.get_uuid() OWNER TO tad;