关于sql update 语句问题,update不成功

m0_48365594 2021-05-19 10:44:05
动行环境 sql server 2008,经常出现系统执行语句部分不成功问题,如下:
语句1:
update BOM_NX set quit_process_warehose=(quit_process_warehose+('0' )) , warehose_process_ng=(prd_process_ng-('0' )) ,quit_in_warehose=(quit_in_warehose+('9' )) ,warehose_ok=(warehose_ok-('0' )),quit_transfer=(quit_transfer+('0') ),warehose_in_ng=(warehose_in_ng-('9' )) where pnnumber='8282140004'
语句2:
update prt_warehoseout_data set checktime='2021/5/19 10:40:38',check_op='郭XX' where out_prt_num='W210519003' and ware_type='A'

诺句1:未发现异常
诺句2:有时候出现warehose_in_ng=(warehose_in_ng-('9' ))执行成功了,quit_in_warehose=(quit_in_warehose+('9' ))不成功问题,有解吗?
...全文
14404 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
数据工具人 2021-06-23
  • 打赏
  • 举报
回复

一条语句中,还能一半成功,一半不成功,这是数据库系统的bug吗

xiaoxiangqing 2021-05-25
  • 打赏
  • 举报
回复
你最好弄一些测试数据,截图出来
morliz子轩 2021-05-24
  • 打赏
  • 举报
回复
提问题,要这样写,才让人看的直观:

set    quit_process_warehose     = (quit_process_warehose + ('0')),
       warehose_process_ng       = (prd_process_ng -('0')),
       quit_in_warehose          = (quit_in_warehose + ('9')),
       warehose_ok               = (warehose_ok -('0')),
       quit_transfer             = (quit_transfer + ('0')),
       warehose_in_ng            = (warehose_in_ng -('9'))
where  pnnumber                  = '8282140004'
go

update prt_warehoseout_data
set    checktime         = '2021/5/19 10:40:38',
       check_op          = '郭XX'
where  out_prt_num       = 'W210519003'
       and ware_type     = 'A' 
       
go

还有不成功,要把数据表原记录放出来,让大家来判断一下。更完成功后的记录,是什么,也放出来。 问题提的要直观一点,你这样让有心想帮你查问题,都没法查。
  • 打赏
  • 举报
回复
你怎么判断有没有成功的?我看你字段设置的是可以为空,你的值为NULL直接加减啥的还是为NULL的,你改成quit_in_warehose=ISNULL(quit_in_warehose,0)+9再试试
m0_48365594 2021-05-24
  • 打赏
  • 举报
回复
引用 3 楼 morliz子轩 的回复:
问题提的一点水准都没有,一没表结构。二没执行报错的具体消息。 让别人猜啊
这个就是没有发现报错啊,因为一条语句中,更新一列成功了,其他列就是没有是够新成功
m0_48365594 2021-05-24
  • 打赏
  • 举报
回复
Column_name Type Computed Length Prec Scale Nullable TrimTrailingBlanks FixedLenNullInSource Collation pnnumber nvarchar no 100 yes (n/a) (n/a) Chinese_PRC_CI_AS partname nvarchar no 400 yes (n/a) (n/a) Chinese_PRC_CI_AS description nvarchar no 400 yes (n/a) (n/a) Chinese_PRC_CI_AS manufacturer nvarchar no 100 yes (n/a) (n/a) Chinese_PRC_CI_AS color nvarchar no 100 yes (n/a) (n/a) Chinese_PRC_CI_AS assyorpack nvarchar no 20 yes (n/a) (n/a) Chinese_PRC_CI_AS prt_replace nvarchar no 100 yes (n/a) (n/a) Chinese_PRC_CI_AS ware_type nvarchar no 20 yes (n/a) (n/a) Chinese_PRC_CI_AS poqty numeric no 9 18 0 yes (n/a) (n/a) NULL original numeric no 9 18 0 yes (n/a) (n/a) NULL in_qty numeric no 9 18 0 yes (n/a) (n/a) NULL in_complement numeric no 9 18 0 yes (n/a) (n/a) NULL in_ok numeric no 9 18 0 yes (n/a) (n/a) NULL in_ng numeric no 9 18 0 yes (n/a) (n/a) NULL in_check numeric no 9 18 0 yes (n/a) (n/a) NULL warehose_plan numeric no 9 18 0 yes (n/a) (n/a) NULL warehose_complement numeric no 9 18 0 yes (n/a) (n/a) NULL warehose_exceed numeric no 9 18 0 yes (n/a) (n/a) NULL warehose_other numeric no 9 18 0 yes (n/a) (n/a) NULL prd_ok_out numeric no 9 18 0 yes (n/a) (n/a) NULL prd_in_ng numeric no 9 18 0 yes (n/a) (n/a) NULL prd_process_ng numeric no 9 18 0 yes (n/a) (n/a) NULL prd_exceed_ok numeric no 9 18 0 yes (n/a) (n/a) NULL prd_exceed_in_ng numeric no 9 18 0 yes (n/a) (n/a) NULL prd_exceed_process_ng numeric no 9 18 0 yes (n/a) (n/a) NULL prd_complement numeric no 9 18 0 yes (n/a) (n/a) NULL warehose_ok numeric no 9 18 0 yes (n/a) (n/a) NULL warehose_in_ng numeric no 9 18 0 yes (n/a) (n/a) NULL warehose_process_ng numeric no 9 18 0 yes (n/a) (n/a) NULL warehose_quarantine numeric no 9 18 0 yes (n/a) (n/a) NULL quit_transfer numeric no 9 18 0 yes (n/a) (n/a) NULL quit_in_warehose numeric no 9 18 0 yes (n/a) (n/a) NULL quit_process_warehose numeric no 9 18 0 yes (n/a) (n/a) NULL part_inwarehose numeric no 9 18 0 yes (n/a) (n/a) NULL fish_inwarehose numeric no 9 18 0 yes (n/a) (n/a) NULL ship_warehose numeric no 9 18 0 yes (n/a) (n/a) NULL prd_assy numeric no 9 18 0 yes (n/a) (n/a) NULL prd_pack numeric no 9 18 0 yes (n/a) (n/a) NULL prd_exceed numeric no 9 18 0 yes (n/a) (n/a) NULL ship_inventory numeric no 9 18 0 yes (n/a) (n/a) NULL entity numeric no 9 18 0 yes (n/a) (n/a) NULL mark nvarchar no 400 yes (n/a) (n/a) Chinese_PRC_CI_AS quabliao numeric no 9 18 0 yes (n/a) (n/a) NULL check_qty_d numeric no 9 18 0 yes (n/a) (n/a) NULL pcs numeric no 9 18 6 yes (n/a) (n/a) NULL time datetime no 8 yes (n/a) (n/a) NULL in_qty_no numeric no 9 18 0 yes (n/a) (n/a) NULL
morliz子轩 2021-05-21
  • 打赏
  • 举报
回复
问题提的一点水准都没有,一没表结构。二没执行报错的具体消息。 让别人猜啊
你的刘靖宇 2021-05-21
  • 打赏
  • 举报
回复
目前没有遇到过,没怎么写过动态sql
m0_48365594 2021-05-20
  • 打赏
  • 举报
回复
up,没有人遇到吗?
发帖
MS-SQL Server

3.4w+

社区成员

MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2021-05-19 10:44
社区公告
暂无公告