1

我使用以下 ABAP 代码插入订单:

EXEC SQL.
    INSERT INTO order VALUES('1','17/12/2012') //order id,order date
ENDEXEC.

但是我遇到了运行时错误。我尝试将日期更改为SYSDATE

EXEC SQL.
    INSERT INTO order VALUES('1',SYSDATE)
ENDEXEC.

错误已修复,但当我尝试从订单表中选择订单日期时无法获得任何值。

DATA: oID(255).
DATA: oDate(255).
//select a order details where order id='1', and assign to oID,oDate
Write: /1 'Order date: ',oDate.
Write: /1 'Order ID: ',oID.

输出:

Order date: 
Order ID: 1
4

2 回答 2

5

如果要使用 Native SQL 操作数据,则必须使用底层 DBMS 的原生 SQL 方言。如果您不知道这一点,则根本不应该使用 Native SQL。

于 2012-12-17T11:23:47.860 回答
3

在变量前面放置一个冒号 (:):

EXEC SQL.
  INSERT INTO order VALUES('1', :sy-datum)
ENDEXEC.
于 2012-12-17T15:44:08.563 回答