sql - 如何从所有模式中删除函数

标签 sql postgresql plpgsql dynamic-sql ddl

我想从我的 Postgres 数据库中的所有模式中删除一个函数。我有大约 200 个模式,(t0000001t0000002t0000003 ...)我真的不想手动完成。

有什么办法吗?

最佳答案

你可以试试这个:

do $$
declare s record;
begin
  for s in select schema_name from information_schema.schemata loop
    execute 'drop function if exists ' || s.schema_name || '.yourfunctionname()';
  end loop;
end; $$;

关于sql - 如何从所有模式中删除函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29412131/

相关文章:

postgresql - 如何将oracle的管道函数迁移到PostgreSQL中

postgresql - 如何将记录传递给 PL/pgSQL 函数?

mysql - 触发以防止同时类型

java - 如何从选择查询的结果集中创建 Java 对象?

sql - 循环遍历模式中的表

PHP 不加载 postgresql 扩展 (mac os x)

postgresql - 当查询和复制同时发生时,Postgresql 上的复制暂停

postgresql - 打印 DO 匿名 block 的执行输出

php - 更改 WordPress SQL 数据库以自定义帖子类型

mysql - 选择同一字段中具有不同值的行