我有这个功能:
SELECT n.nspname AS schema_name
,p.proname AS function_name
,pg_get_function_arguments(p.oid) AS args
,pg_get_functiondef(p.oid) AS func_def
FROM (SELECT oid, * FROM pg_proc p WHERE NOT p.proisagg) p
JOIN pg_namespace n ON n.oid = p.pronamespace
WHERE n.nspname !~~ 'pg_%'
AND n.nspname <> 'information_schema'
AND pg_get_functiondef(p.oid) ~ '\mTableName\M';
它给了我一个使用 TableName 的函数列表。但是它不会忽略注释。例如,如果在 function A
中会有这样一行:
-- select * from TableName
它会在结果中显示 A
,即使它是一个注释并且 A
并没有真正使用 TableName
。
我怎样才能做一个做同样事情但忽略所有注释的查询?
最佳答案
您可以直接在这个维基页面上找到您需要的一切:https://wiki.postgresql.org/wiki/Pg_depend_display
根据您的 PostgreSQL 版本,存在各种依赖项 View 。
关于sql - PostgreSQL:获取与表相关的所有功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30709573/