2009-05-28 27 views

回答

2

pg_proc中的proargtypes列是所有函數參數類型的數組。然後可以將每種類型交叉引用至pg_type.oid

所以,如果我這樣定義一個函數:

[email protected]@[local] =# create function testfunc(pg_proc.proname%type) returns boolean language 'sql' immutable strict as $$ select true $$; 
NOTICE: type reference pg_proc.proname%TYPE converted to name 
CREATE FUNCTION 

那麼,該通知是不是太樂觀。

該函數pg_proc記錄是:

proname | proargtypes 
----------+------------- 
testfunc | 19 

和19型是隻是 「名」。所以看起來這裏的答案是「不」,恐怕。