我尝试使用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«不存在
但此表存在于我的数据库中。我怎么解决这个问题? 谢谢
答案 0 :(得分:2)
我猜你用这样的东西创建了代理表:
create table "Surrogate_Table" (...)
请注意表名周围的引号,并注意错误消息是在讨论surrogate_table
。 PostgreSQL将所有未加引号的标识符折叠为小写,但您有一个混合大小写的表名。添加一些双引号以获得正确的案例:
INSERT INTO public."Surrogate_Table"(wert) VALUES(uid);