代码之家  ›  专栏  ›  技术社区  ›  Mukhammadsher

如何在PostgreSQL中获取用户定义的函数注释

  •  0
  • Mukhammadsher  · 技术社区  · 7 年前

    我正在尝试获取函数注释,在这里我保存了我在程序中需要的基本信息。我已经创建了许多函数,名称都以“stat”开头,我正在使用下面的代码检索它们的名称。

    SELECT routines.routine_name
    FROM information_schema.routines
    LEFT JOIN information_schema.parameters ON 
    routines.specific_name=parameters.specific_name
    WHERE routines.specific_schema='public' AND routines.routine_name LIKE 
    'stat_%' ORDER BY routines.routine_name, parameters.ordinal_position;
    

    现在我有了所有的函数名,我需要得到它们的评论。 我找不到解决办法,如果你知道,请分享。

    2 回复  |  直到 7 年前
        1
  •  1
  •   sticky bit    7 年前

    可通过以下方式检索注释: pg_description 通过对象ID。

    SELECT p.proname,
           p.proargtypes,
           d.description
           FROM pg_proc p
                LEFT JOIN pg_description d
                          ON d.objoid = p.oid
           WHERE p.proname LIKE 'stat$_%' ESCAPE '$';
    
        2
  •  1
  •   CodeMan    7 年前
    SELECT SPECIFIC_NAME AS SpName
    FROM information_schema.routines
    WHERE routines.specific_schema='public' AND routines.routine_name LIKE 'stat_%' 
    ORDER BY routines.routine_name
    

    然后,您可以通过以下命令获取对象的源:

    EXEC sp_helptext 'ObjectName';