SQLRPGLE 插入语句不工作

SQLRPGLE Insert Statement not working

我有一个简单的插入语句,我想使用 sqlrpgle 执行。 我首先根据哪些变量为空来构建语句,然后想使用 exec sql 进行插入。 这是行不通的。

但是在 STRSQL 中输入带有子查询的相同插入语句工作正常。

对于这个问题,我已将 sql 语句分解为最简单的版本。

这是 SQLRPGLE 代码片段

这里是我在 STRSQL 中输入相同语句的地方

如有任何帮助,我们将不胜感激。

**编辑

这只会在我添加 where 子句时发生,这基本上是我需要的,也是我尝试使用 sqlrpgle 来实现它的原因。 像

这样的语句
sqlstmt = 'insert into jallib/sbrmrpt (shscdt, shcmdt) ' + 
          'select shscdt, shcmdt ' +
          'from r50files/sbschd ';

sqlstmt = 'insert into jallib/sbrmrpt (shscdt, shcmdt) ' + 
          'values (10, 10) ';

一切正常,一旦将 where 子句添加到子查询中,它在 RPG 代码中不起作用,但在 STRSQL 中起作用

您已将 sqlstmt 定义为最多 100 个字符,并且使用 where 子句您的字符串长度超过 100 个字符。您的 SQL 语句被截断,这就是它不起作用的原因。我怀疑您知道如何解决这个问题,但为了完整起见,解决方案如下:

D sqlstmt          s            500a   varying