我们正在将 Oracle Pro*C 代码移植到 PostgreSQL ECPG。我们有几个 Oracle 存储过程被移植到 PostgreSQL 函数中,例如:
db1.update_some_logic(double precision, double precision, text, text)
在 C 文件上,我尝试了几件事,但似乎没有任何效果。
选项1:
EXEC SQL SELECT db1.update_some_logic(10411, 920, 'TYT','N');
错误一:
too few arguments on line 4379
选项 2:
EXEC SQL BEGIN DECLARE SECTION;
const char *stmt2 = "SELECT db1.update_some_logic(10411, 920, 'TYT','N');";
EXEC SQL END DECLARE SECTION;
EXEC SQL EXECUTE IMMEDIATE :stmt2;
错误2:
too few arguments on line 4384
该函数显然有 4 个参数,不确定我在这里缺少什么。