PostgreSQL:如何列出访问特定表的所有存储函数

时间:2015-06-03 08:27:35

标签: sql postgresql

对于给定的表,如何找到使用该表中任何字段的所有函数? 说我有学生表(studentid,studentname)

我想要一个使用来自学生的studentid和studentname的所有函数和触发器的列表。

我的问题与List stored functions that reference a table in PostgreSQL类似,但是那里给出的代码不起作用... n.nspname在与Schema相关的条件中给出而不是表格。

1 个答案:

答案 0 :(得分:1)

也许不是很精确,但这个查询应该有用。

SELECT routine_schema, routine_name 
FROM information_schema.routines 
WHERE routine_definition ~ 'student' 
AND routine_definition ~ 'studentid' 
AND routine_definition ~ 'studentname';

根据您编写过程的方式,您可以应用更精确的正则表达式。例如,如果您总是以这种形式编写表格和列:table.column可以使用此表达式:

... WHERE routine_definition ~ 'student\.studentid' 
AND routine_definition ~ 'student\.studentname'