有没有办法在db表中插入单个记录而不使用结构作为数据持有者。
我在想像
这样的东西INSERT INTO table(filed1, field2) VALUES (value1, value2).
这样的事情有可能实现吗? THX
答案 0 :(得分:2)
不,这是不可能的,因为您无法使用OpenSQL INSERT statements指定单个目标字段。您可以使用VALUE type( ... )
运算符来解决右侧临时结构的需求,但我还没有尝试过。
答案 1 :(得分:0)
您应该尝试动态创建结构。
使用CL_ABAP_STRUCTDESCR=>CREATE
,指定组件列表(列列表)及其类型,您可以动态获得可用于创建数据引用的结构描述。
快速伪代码:
DATA coldescr TYPE REF TO cl_abap_structdescr.
DATA cols TYPE REF TO data.
FIELD-SYMBOLS <cols> TYPE any.
coldescr = cl_abap_structdescr=>create( ).
CREATE DATA cols TYPE HANDLE coldescr.
ASSIGN cols->* TO <cols>.
您可以在插入select stmt。
时使用<cols>