Ibm midrange AS400 RPGLE/free针对数据结构的嵌入式SQL

Ibm midrange AS400 RPGLE/free针对数据结构的嵌入式SQL,ibm-midrange,db2-400,rpgle,Ibm Midrange,Db2 400,Rpgle,我想知道是否有可能对数据结构而不是文件执行SQL 例如,我有一个包含100个字段的外部数据结构,假设命名约定是field1、field2等……数据结构名称是DS1。DS1结构与所有100个包含值的字段一起传递给程序。我想知道是否可以这样做: /free exec sql update DS1 set field1 = field2; /end-free 我不确定是否可以查询数据结构,而不是将数据存储到磁盘中,但如果可以,则会使事情变得更快、更简单

我想知道是否有可能对数据结构而不是文件执行SQL

例如,我有一个包含100个字段的外部数据结构,假设命名约定是field1、field2等……数据结构名称是DS1。DS1结构与所有100个包含值的字段一起传递给程序。我想知道是否可以这样做:

/free
  exec sql                 
  update DS1 set field1 = field2;  
/end-free
我不确定是否可以查询数据结构,而不是将数据存储到磁盘中,但如果可以,则会使事情变得更快、更简单

谢谢

答案很简单,不是

与您所要求的最接近的是将
值放入
语句中

 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已足够。我想这与你的另一个问题有关:

你是对的。这确实与另一个问题有关。我喜欢让事情变得更加自动化。我们有很多实时数据通过执行不同功能的各种批处理作业。通常,当客户需要不同的字段集时,我们必须编写程序。因此,当字段10设置为“ABC”或其他任何值时,您最终得到的是一个程序,它的唯一功能是将字段设置为“a”而不是“B”。我正在尝试创建一个程序来读取用户定义的脚本文件并基于此设置字段,而不是让多个程序只执行一件事情。