我正在尝试执行以下查询,以作为一种简单的方式来处理多个记录,而不是为每个单独的记录创建一个插入语句:
INSERT INTO wostatus (WO, STATUS, DATE, WOSTATUSID)
SELECT
workorder.wonum, 'CLOSE', '02-SEP-2015',
(SELECT MAX(wostatusid) + 1 FROM wostatus)
FROM
wostatus
JOIN
workorder ON wostatus.wonum = workorder.wonum
但是,我收到重复的键错误,因此无法递归工作。我认为它将继续插入+1并为下一次插入检索新值。还有另一种简单的方法可以同时在SS和Oracle上运行吗?
使用以下查询
INSERT INTO wostatus (WO,STATUS,DATE,WOSTATUSID)
SELECT workorder.wonum, 'CLOSE', '02-SEP-2015', ((SELECT isnull(max(wostatusid),0) from wostatus)+ row_number() over(order by wostatus.wonum))
from wostatus join workorder on wostatus.wonum = workorder.wonum
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句