You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Open Edge Progress数据库新手求教:数据更新/插入语句是否正确?

Open Edge Progress 数据更新/插入语句说明

你写的单独ASSIGN语句是不正确的,因为它缺少定位目标记录(更新场景)或创建新记录(插入场景)的上下文,无法直接执行。下面分别说明正确的更新和插入写法:

更新数据

要更新表中已有记录,需要先通过FIND或FOR EACH语句定位到目标记录(注意添加合适的锁,更新操作需要独占锁或共享锁),再用ASSIGN修改字段值:

方式1:用FIND定位单条记录

FIND 表名 WHERE 表名.主键字段 = 目标值 EXCLUSIVE-LOCK.
ASSIGN
  表名.字段1 = 新值1
  表名.字段2 = 新值2.

方式2:用FOR EACH批量更新

FOR EACH 表名 WHERE 表名.条件字段 = 筛选条件 EXCLUSIVE-LOCK:
  ASSIGN
    表名.字段 = 新值.
END.

插入数据

插入新记录需要先使用CREATE语句创建空记录,再用ASSIGN给字段赋值,也可以合并为一行写法:

方式1:分开写

CREATE 表名.
ASSIGN
  表名.主键字段 = 主键值
  表名.字段1 = 数据1
  表名.字段2 = 数据2.

方式2:合并写法

CREATE 表名 ASSIGN
  表名.主键字段 = 主键值
  表名.字段1 = 数据1
  表名.字段2 = 数据2.

内容的提问来源于stack exchange,提问作者Naruhina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 04:31:12