postgresql - PostGreSQL 函数 - 整数的输入语法无效
问题描述
我试图执行 PostGreSQL 函数,但出现错误。
此函数已存在于数据库中:
宣布 vCur REFCURSOR; vSql varchar(2000); vStr varchar(10); vAux varchar(4000); vRet 大整数; 开始 vRet := ''; -- monta o SELECT dinâmico vSql := ''; vSql := vSql || '选择 SUM(F_PRD_SALDO_PRODUTO(A.CD_EMPRESA, '''|| PI_CD_SALDO ||''', A.CD_PRODUTO, ''' || PI_DT_SALDO::varchar || ''')) '; vSql := vSql || '来自 VR_PRD_PRODEMP A'; vStr := '在哪里'; -- 企业过滤器 如果(PI_CD_EMPRESA 不为空)则 vSql := vSql || vStr || 'A.CD_EMPRESA IN ('|| PI_CD_EMPRESA || ')'; vStr := '和'; 万一; -- 过滤产品 如果 (PI_CD_PRODUTO 0) 那么 vSql := vSql || vStr || 'A.CD_PRODUTO = ''' || PI_CD_PRODUTO::varchar || ''''; vStr := '和'; 万一; -- Passo 2: abre e executa o cursor dinâmico usando 一个游标变量 为 EXECUTE vSql 打开 vCur; 环形 将 vCur 提取到 vAux 中; 找不到时退出;/* 应用于 vCur */ vRet := vAux; 结束循环; 关闭 vCur; vRet:=合并(vRet,'0'); 返回(vRet)::数字; 结尾;
我正在尝试执行此命令:
SELECT public.f_dic_sld_prd_produto('301','1',14708,'2019-01-01 00:00:00')
但它得到以下错误:
错误:整数的无效输入语法:“” SQL 状态:22P02 上下文:PL/pgSQL 函数 f_dic_sld_prd_produto(text,text,bigint,timestamp without time zone) line 12 at assignment
注:本公司使用的系统默认此功能。在使用 Oracle 的其他安装中,不会发生此错误。
拜托,有人可以帮忙解决吗?!
解决方案
推荐阅读
- c - 关于指针在 C 中如何工作的问题
- c++ - c++ 无法将 std::filesystem::path 转换为 c_str
- c - 存根:是否可以使用与 __attribute__((weak)) 相反的东西?
- java - 如何从子类中访问父类中的内部类?
- javascript - 吊装不会导致打印,它会引发错误,为什么?
- typescript - 我可以以可重用的方式描述类方法的参数吗?
- google-cloud-platform - 是否可以在同一个文件存储实例上安装两个不同的文件夹?
- oracle - Oracle for Update SKIP LOCKED 和 Left Join
- matplotlib - 在同一 x 轴上绘制条形图和线图
- html - 输入滑块后面的 CSS 条形音箱