我想知道是否可以针对数据结构而不是文件执行SQL。
例如,我有一个包含100个字段的外部数据结构,假设命名约定为field1,field2等.....数据结构名称为DS1。 DS1结构传递给程序,所有100个字段都包含值。我想知道是否可以做这样的事情:
/free
exec sql
update DS1 set field1 = field2;
/end-free
我不确定是否可以查询数据结构而不是将磁盘转到实际文件,但如果是,它会使事情变得更快更简单。
谢谢!
答案 0 :(得分:2)
简单回答,不。
您要求的最近的事情是使用VALUES INTO
声明。
d myDS ds qualified
d fld1 10a
d fld2 10a
/free
myDS.fld1 = 'HELLO';
exec sql
values (:myDS.fld1) into :myds.fld2;
dsply myDS.fld2;
*INLR = *ON;
return;
/end-free
当一个简单的myDS.fld2 = myDS.fld1;
足够时,为什么你想这样做是超出我的。我认为这与您的其他问题有关:AS400 RPGLE/free dynamic variables in operations