使用Pl / pgsql插入表中

时间:2013-01-07 22:05:27

标签: postgresql plpgsql

我尝试使用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$

如果我运行此代码,则会出现错误: 关系»public.surrogate_table«不存在

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

1 个答案:

答案 0 :(得分:2)

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

create table "Surrogate_Table" (...)

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

INSERT INTO public."Surrogate_Table"(wert) VALUES(uid);