在C中执行字符串作为SQL查询

在C中执行字符串作为SQL查询,sql,c,oracle,execute,Sql,C,Oracle,Execute,是否可以在C中以SQL查询的形式执行字符串并获得结果?我正在尝试编译以下代码: EXEC SQL EXECUTE IMMEDIATE : sql_formula INTO :sql_prec_desconto_mp; 但我有一个错误: 文件第35列第10548行出错 D:\syncs\AIX\fuentes\funcn\niv2\src\rutin as.pc EXECUTE IMMEDIATE : sql_formula INTO :sql_prec_desc

是否可以在C中以SQL查询的形式执行字符串并获得结果?我正在尝试编译以下代码:

EXEC SQL
    EXECUTE IMMEDIATE : sql_formula INTO :sql_prec_desconto_mp;
但我有一个错误:

文件第35列第10548行出错

D:\syncs\AIX\fuentes\funcn\niv2\src\rutin as.pc

            EXECUTE IMMEDIATE : sql_formula INTO :sql_prec_desconto_mp;
PCC-S-02201,在期望一个 以下:

);([.+-->

如何获得SQL查询的结果?如果删除INTO子句,则可以编译而不出错

提前感谢。

格式为:

准备并执行DELETE、INSERT或UPDATE语句或不包含主机变量的PL/SQL块

您没有执行这些DML类型中的任何一种,并且这些DML类型无法识别
中。当您运行动态SQL查询时,如果没有
中,则查询永远不会实际执行()

立即想到要做我认为您想要做的事情的最快方法是准备一个游标并获取结果:

EXEC SQL PREPARE stmt FROM :sql_formula;
EXEC SQL DECLARE cur CURSOR FOR stmt;
EXEC SQL OPEN cur;
EXEC SQL FETCH cur INTO :sql_prec_desconto_mp;

谢谢你的回答,这段代码解决了我的问题!:)