2013-12-17 34 views
1

如果我使用这段代码写在表上的一切评论工作正常:的PostgreSQL 9.1:从函数返回值上表集评论

COMMENT ON TABLE schemaname.tablename IS 'Some Comment'; 

但是,如果我想用一个函数的返回值作为评论的值我有一个错误,像这里:

COMMENT ON TABLE schemaname.tablename IS substring('Thomas' from 2 for 3); 

ERROR: syntax error at or near "substring" 

有关如何解决此问题的任何想法? (我不想编辑'pg_catalog.pg_description'系统表)

谢谢。 卢卡

回答

1

你需要动态SQL为:

do 
$body$ 
declare 
    comment_string text; 
begin 
    comment_string := substr('thomas', 2, 3); 
    execute 'comment on table public.foo is '||quote_literal(comment_string); 
    commit; 
end; 
$body$