postgresql - PostgreSQL 函数更新行的特定列
问题描述
我正在尝试创建一个从表中调用特定数据的函数,但是为什么它显示的列不存在,即使它在数据库中。
CREATE FUNCTION public."updateDB"(IN userid bigint DEFAULT 00000, OUT uinfo json, IN clname text DEFAULT info)
RETURNS json
LANGUAGE 'plpgsql'
AS $BODY$
BEGIN
SELECT clname into uinfo
FROM public.users
WHERE uid = userid;
END;
$BODY$;
但是当我尝试调用它时,它会在此处显示此错误 ,我尝试将信息设为默认值,因此会发生此错误。如果我没有做任何默认设置并从代码运行该函数,它会再次显示该错误。
解决方案
您需要引用您的文本,否则 postgres 认为您指的是一个列
IN clname text DEFAULT 'info'
推荐阅读
- python - 检查 DataFrame 字符串值是否包含具有某些前缀的单词
- python - TypeError:只能将str(不是“list”)连接到str
- sql - SQL Server 错误:当子查询没有用 EXISTS 引入时,选择列表中只能指定一个表达式
- android - Android kotlin.TypeCastException: null 不能转换为非 null 类型 com.google.android.gms.maps.SupportMapFragment
- android - 如何为自定义身份验证器设置默认首选项?
- java - 缩放文件夹中的图像
- .net - 是否有可用的轻量级工作流编排库
- heroku - Flask / CSRF Missing/Expired Token for users with a Proxy on Heroku
- laravel - Laravel:中间件问题
- r - 间隔号