SQL命令根据迄今为止或在两个日期之间的股票来更新RE订单水平和数量



我试图将以下内容放入智商零售中的数据库实用程序中,但它不起作用。

update Stock
set MIN_LVL=UnitsYearToDate/5
set ORD_QUANT=UnitsYearToDate/5*3
where (only using one of the following)
REGULAR_SU='xxx'
or
SUBDEPARTM='xxx'
or
CODE between 'xxx' and 'xxx'

我得到此错误

" DBISAM引擎错误#11949 SQL解析错误 - 预期的结束 语句,而是在第3行的Update SQL语句中找到设置 第1列"

我没有编程知识,因为我的偏远位置,我只是在尝试自我帮助。关于我如何更新最低订单水平和订单数量的任何建议,大约有12000个股票。

我正在使用智商零售软件中的包装数据库实用程序。

尝试以下尝试 - 您不需要多次定义设置,只需使用一组并使用逗号定义多个列(,)

update Stock set MIN_LVL=UnitsYearToDate/5,ORD_QUANT=UnitsYearToDate/5*3 
where REGULAR_SU='xxx' or SUBDEPARTM='xxx' or CODE between 'xxx' and 'xxx'

您的语法是佩戴的。多个SET必须通过逗号分隔:

update Stock
set MIN_LVL=UnitsYearToDate/5, ORD_QUANT=UnitsYearToDate/5*3
where 
REGULAR_SU='xxx'
or
SUBDEPARTM='xxx'
or
CODE between 'xxx' and 'xxx'

正如其他人所说的,语法是不正确的,当您有多个集合时,您需要用逗号分开它们。dbisam执行顺序可能不同,您也需要注意。请参阅此文档以获取更新语句

尝试此代码

UPDATE Stock SET MIN_LVL = 2, ORD_QUAN = 3 FROM Stock WHERE SUBDEPARTM = '0002';

最新更新