2013-01-07 51 views
0

我嘗試用pl/pgsql將UUID值添加到表中。這是我的代碼:用pl/pgsql插入表中

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«犯規存在

但此表在我的數據庫存在。我怎麼解決這個問題? 謝謝

回答

2

我猜你是這樣創建的代理表:

create table "Surrogate_Table" (...) 

注意周圍的表名引號,也請注意錯誤消息在談論surrogate_table。 PostgreSQL將所有未加引號的標識符摺疊爲小寫,但是您有一個混合大小寫的表名。添加一些雙引號以獲得正確的案例:

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