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
我有一个简单的插入语句,我想使用 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