database - 无法在 PostgreSQL 中更新 View "routines"

标签 database postgresql triggers view

我在 PostgreSQL 中有一个包含近 400 个函数的数据库。其中许多功能有 RAISE INFO 用于调试目的。现在我想在所有功能中评论这个RAISE INFO。为此,我使用以下查询:

UPDATE information_schema.routines SET routine_definition = REPLACE(routine_definition,'RAISE','-- RAISE') WHERE (routine_definition) like '%RAISE%' 

但它给了我以下错误:

ERROR: cannot update view "routines"
SQL state: 55000
Detail: Views that do not select from a single table or view are not automatically updatable.
Hint: To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule.

我不知道该怎么做。

最佳答案

你想要pg_proc.prosrc ,尽管我会担心用您的方法也会改变其他 RAISE 语句。

关于database - 无法在 PostgreSQL 中更新 View "routines",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23192648/

相关文章:

python - 如何在 google app engine 上用 python 创建一个独特的属性?

mysql - 数据库设计 : relate to car's model or trim?

node.js - 使用 Nodejs 和 Postgres 防止 SQL 注入(inject)

sql - 如何用postgresql转换表

sql-server - 带有加密触发器的 TooManyRowsAffectedException

sql-server - 历史表的优点、缺点和陷阱 - 使用触发器、存储过程或在应用程序级别

mysql - 如何锁定一个mysql数据库中的所有表?

ruby-on-rails - Rails 中 Postgres JSON 数组字段的 LIKE 查询

mysql - 我希望在创建条目时更新另一个表

oracle - 如何在 Oracle 中开发一个 after serverror 触发器?