0

我尝试使用 pl/pgsql 将 UUID 值添加到表中。这是我的代码:

CREATE OR REPLACE FUNCTION "Surrogate_gen"()
  RETURNS uuid AS
$BODY$DECLARE 
uid UUID;
BEGIN
uid:=(select uuid_generate_v1());
INSERT INTO public.Surrogate_Table(wert) VALUES(uid);
RAISE NOTICE 'My UUID is %',uid;
return uid;
END
$BODY$

如果我运行此代码,则会发生错误并显示: Relation »public.surrogate_table« 不存在

但是这个表存在于我的数据库中。我怎么解决这个问题?谢谢

4

1 回答 1

2

我猜你用这样的东西创建了代理表:

create table "Surrogate_Table" (...)

请注意表名称周围的引号,并注意错误消息正在谈论surrogate_table. PostgreSQL 将所有未加引号的标识符折叠为小写,但您有一个混合大小写的表名。添加更多双引号以获得正确的大小写:

INSERT INTO public."Surrogate_Table"(wert) VALUES(uid);
于 2013-01-07T22:27:17.873 回答