update plan_production_item
set lot_no=dbo.fn_APS_lot_no(item_cd,'2013')+row_number() over(PARTITION by prod_year,prod_month,item_cd order by prod_year,prod_month)-1
where prod_year = '2013' and prod_month = '08'
이렇게 데이터 전부를 업데이트 치고싶엇는데 안되네요..
오류 메시지 4108, 수준 15, 상태 1, 프로시저 SP_APS_PlanProduction, 줄 486
기간 이동 함수는 SELECT 또는 ORDER BY 절에만 사용할 수 있습니다.
update select 를 통해서 하는법이 없나요 ㅠㅠ??
초보입니다.. ㅠㅠ
lot_no 만드는 SELECT문을 만드시고 이때 키값을 같은 보여주고 이걸 가지고 조인으로해서 업데이트를 하시면 됩니다.
WITH
RES AS
(
SELECT 테이블키
, dbo.fn_APS_lot_no(item_cd,'2013')+ row_number() over(PARTITION by prod_year,prod_month,item_cd order by prod_year,prod_month)- 1 lot_no
where prod_year = '2013' and prod_month = '08'
)
update A
SET A.lot_no = B.lot_no
FROM plan_production_item A JOIN RES B ON A.테이블키 = B.테이블키