postgresql - 如何替换 plpsql 函数内的查询中的参数?
问题描述
我有一个名为 public.stepone(...) 的函数,它将接受一些参数并将其替换为函数内所有查询中传递的值,如下所示。这里 public 是模式名。传入的参数也是应该在所有查询中替换的模式名。
例如,如果我从命令行调用函数: SELECT public.stepone(26) 其中 26 是另一个模式名,则所有查询都应替换 26 来代替模式名。
例如,第一个查询将是 UPDATE 26.tablename SET col = someValue;
我试过的
DECLARE schemaname integer:=schemaname
CREATE OR REPLACE FUNCTION public.stepone(schemaname IN integer)
RETURNS void
LANGUAGE 'plpgsql'
COST 100
VOLATILE
AS $BODY$
BEGIN
UPDATE schemaname.tablename SET col= someValue;
END;
$BODY$;
ALTER FUNCTION public.stepone(integer)
OWNER TO postgres;
解决方案
推荐阅读
- ios - SwiftUI 应用程序的 API 调用
- python - Python 字典
- python - Python HTTP Server 只提供一个文件
- batch-file - 等待批处理 SC.exe 完成
- python - 为什么重力在 Pymunk 中不起作用?
- android - 检查wifi助手是否处于活动状态(wifi看门狗打开)
- flutter - Flutter:我可以在一个 Row 中使用不同类型的 crossAxisAlignment 吗?
- firebase - 使用 Firebase 获取 N 个文档的集合
- sqlite - 嵌套集合视图数据绑定范围问题,使用 SQLite 作为源。Xamarin 表单
- flutter - How to return a dio output in Flutter