저장 프로 시저 내에서 뷰를 어떻게 변경 할 수 있습니까?저장 프로 시저 내에서 뷰 변경
create procedure createviewupdatepenaltypointsconsecutive
as
begin
alter VIEW consecutive
as
WITH cte as (
SELECT *,
LAG([pointsRewarded], 1) OVER (PARTITION BY [EmployeeID] ORDER BY [WeekNumber]) as prev1_points,
LAG([pointsRewarded], 2) OVER (PARTITION BY [EmployeeID] ORDER BY [WeekNumber]) as prev2_points,
LAG([pointsRewarded], 3) OVER (PARTITION BY [EmployeeID] ORDER BY [WeekNumber]) as prev3_points
FROM week1
)
SELECT *,
CASE WHEN [pointsRewarded] = -10 AND prev1_points = -10 AND prev2_points = -10 AND prev3_points = -10
THEN -200
WHEN [pointsRewarded] = -10 AND prev1_points = -10 AND prev2_points = -10
THEN -100
WHEN [pointsRewarded] = -10 AND prev1_points = -10
THEN -50
ELSE 0
END penalty
FROM cte
end
M이 오류가 : 키워드 'VIEW'근처 메시지 156, 수준 15, 상태 1, 프로 시저 createviewupdatepenaltypointsconsecutive, 4 호선 의 구문이 잘못되었습니다. 메시지 319, 수준 15, 상태 1, 프로 시저 createviewupdatepenaltointsconsecutive, 줄 8 'with'키워드 근처의 구문이 잘못되었습니다. 이 문이 공통 테이블 식, xmlnamespaces 절 또는 변경 내용 추적 컨텍스트 절인 경우 이전 문은 세미콜론으로 끝나야합니다.
다시 만드는 관점이의 새로운 기능 이 절차? 뷰 정의가 어떤 식 으로든 변경되지 않는 것처럼 보일 때 스토어드 프로시 저는 논리를 적용하거나 매개 변수를 가져 오지 않습니다. –
해결하려고하는 문제는 뷰를 저장 프로 시저에 넣어야한다는 것입니다. –